sqlMetal.exe /server:(local) /database:cnblogs /pluralize /namespace:Mylinq /code:cnblogs.cs
** 上面是生成代码
sqlMetal.exe /server:(local) /database:cnblogs /pluralize /namespace:Mylinq /xml:cnblogs.xml
生成xml
生成实体类 和xml 比较有用!!!!!!!!!!!!!!1
msdn 的提示:
SqlMetal 命令行工具可为 .NET Framework 的 LINQ to SQL 组件生成代码和映射。 通过应用本主题后面出现的选项,可以指示 SqlMetal 执行若干种不同的操作,其中包括:
从数据库生成源代码和映射特性或映射文件。
从数据库生成供自定义使用的中间数据库标记语言 (.dbml) 文件。
从 .dbml 文件生成代码和映射特性或映射文件。
SQLMetal 文件包括在随 Visual Studio 一起安装的 Windows SDK 中。 默认状态下,该文件位于 drive: \Program Files\Microsoft SDKs\Windows\vn. nn\bin. 如果您未安装 Visual Studio,还可以通过下载 Windows SDK 来获取 SQLMetal 文件。
若要访问最新的选项列表键入 sqlmetal /?,在命令提示符从已安装的位置。
连接选项
选项 | 说明 |
---|---|
/server:<name> | 指定数据库服务器名称。 |
/database:<name> | 指定服务器上的数据库目录。 |
/user:<name> | 指定登录用户 ID。 默认值:使用 Windows 身份验证。 |
/password:<password> | 指定登录密码。 默认值:使用 Windows 身份验证。 |
/conn:< 连接字符串 > | 指定数据库连接字符串。 不能与 /server、/database、/user 或 /password选项一起使用。 请勿在连接字符串中包括文件名。 而是应将文件名作为输入文件添加到命令行中。 例如,下行命令将“c:\northwnd.mdf”指定为输入文件:sqlmetal /code:"c:\northwind.cs" /language:csharp "c:\northwnd.mdf"。 |
/timeout:<seconds> | 指定 SqlMetal 访问数据库时的超时值。 默认值:0(即没有时间限制)。 |
提取选项
选项 | 说明 |
---|---|
/views | 提取数据库视图。 |
/functions | 提取数据库函数。 |
/sprocs | 提取存储过程。 |
输出选项
选项 | 说明 |
---|---|
/dbml[: 文件] | 以 .dbml 扩展名发送输出。 不能与 /map 选项一起使用。 |
/code[: 文件] | 以源代码形式发送输出。 不能与 /dbml 选项一起使用。 |
/map[: 文件] | 生成 XML 映射文件而不是特性。 不能与 /dbml 选项一起使用。 |
杂项
选项 | 说明 |
---|---|
/language:<language> | 指定源代码语言。 有效的 <语言> 包括:vb、csharp。 默认值:从代码文件的扩展名派生。 |
/namespace:<name> | 为生成的代码指定命名空间。 默认值:无命名空间。 |
/context:<type> | 指定数据上下文类的名称。 默认值:从数据库名称派生。 |
/entitybase:<type> | 为生成的代码中的实体类指定基类。 默认值:实体没有基类。 |
/pluralize | 自动为类和成员名称应用复数或单数形式。 此选项只在美国可用。 英文版。 |
/serialization:<option> | 生成可序列化的类。 有效的 <选项> 包括:None、Unidirectional。 默认值:无。 有关更多信息,请参见序列化 (LINQ to SQL)。 |
输入文件
选项 | 说明 |
---|---|
<input file> | 指定 SQL Server Express .mdf 文件、SQL Server Compact 3.5 .sdf 文件或 .dbml 中间文件。 |
SqlMetal 功能实际涉及两个步骤:
将数据库的元数据提取到一个 .dbml 文件中。
生成一个代码输出文件。
通过使用适当的命令行选项,可以生成 Visual Basic 或 C# 源代码,也可以生成 XML 映射文件。
若要从 .mdf 文件中提取元数据,必须在所有其他选项后指定 .mdf 文件的名称。
如果未指定 /server,则假定为 localhost/sqlexpress。
如果存在下列一种或多种情况,Microsoft SQL Server 2005 将引发异常:
SqlMetal 尝试提取进行自我调用的存储过程。
存储过程、函数或视图的嵌套级别超过 32。
SqlMetal 将捕获此异常并将其报告为警告。
若要指定一个输入文件名,请将该名称作为输入文件添加到命令行。 不支持在连接字符串中包括文件名(使用 /conn选项)。
生成一个包含提取的 SQL 元数据的 .dbml 文件:
sqlmetal /server:myserver /database:northwind /dbml:mymeta.dbml
使用 SQL Server Express 生成一个包含从 .mdf 文件中提取的 SQL 元数据的 .dbml 文件:
sqlmetal /dbml:mymeta.dbml mydbfile.mdf
生成一个包含从 SQL Server Express 中提取的 SQL 元数据的 .dbml 文件:
sqlmetal/服务器:。 \sqlexpress /dbml:mymeta.dbml /database:northwind
基于 .dbml 元数据文件生成源代码:
sqlmetal /namespace:nwind /code:nwind.cs /language:csharp mymetal.dbml
直接基于 SQL 元数据生成源代码:
sqlmetal /server:myserver /database:northwind /namespace:nwind /code:nwind.cs /language:csharp