LINQ学习笔记
使用sqlmetal.exe命令行工具进行生成 sqlmetal/server:./database:hscode/user:sa/password:local/dbml:hscode.dbml
SqlMetal功能实际涉及2个步骤:
1.将数据库的元数据提取到一个.dbml文件中
2.生成一个代码输出文件,通过使用适当的命令行选项,可以生成 Visual Basic 或 C# 源代码,也可以生成 XML 映射文件。
3.生成一个包含提取的 SQL 元数据的 .dbml 文件:
sqlmetal /server:myserver /database:northwind /dbml:mymeta.dbml
4.基于 .dbml 元数据文件生成源代码:
sqlmetal /namespace:nwind /code:nwind.cs /language:csharp mymetal.dbml
选项 |
说明 |
---|---|
/server: <名称> |
指定数据库服务器名称。 |
/database: <名称> |
指定服务器上的数据库目录。 |
/user: <名称> |
指定登录用户 ID。默认值: 使用 Windows 身份验证。 |
/password: <密码> |
指定登录密码。默认值:使用 Windows 身份验证。 |
/conn: <连接字符串> |
指定数据库连接字符串。不能与 /server、/database、/user 或 /password 选项一起使用。 请勿在连接字符串中包括文件名。而是应将文件名作为输入文件添加到命令行中。例如,下行命令将“c:\northwnd.mdf”指定为输入文件:sqlmetal /code:"c:\northwind.cs" /language:csharp "c:\northwnd.mdf"。 |
/timeout: <秒> |
指定 SqlMetal 访问数据库时的超时值。默认值:0(即没有时间限制)。 |
提取选项
选项 |
说明 |
---|---|
/views |
提取数据库视图。 |
/functions |
提取数据库函数。 |
/sprocs |
提取存储过程。 |
输出选项
选项 |
说明 |
---|---|
/dbml [:文件] |
以 .dbml 扩展名发送输出。不能与 /map 选项一起使用。 |
/code [:文件] |
以源代码形式发送输出。不能与 /dbml 选项一起使用。 |
/map [:文件] |
生成 XML 映射文件而不是属性。不能与 /dbml 选项一起使用。 |
杂项
选项 |
说明 |
---|---|
/language: <语言> |
指定源代码语言。 有效的 <语言> 包括:vb、csharp。 默认值:从代码文件的扩展名派生。 |
/namespace: <名称> |
为生成的代码指定命名空间。默认值:无命名空间。 |
/context: <类型> |
指定数据上下文类的名称。默认值:从数据库名称派生。 |
/entitybase: <类型> |
为生成的代码中的实体类指定基类。默认值:实体没有基类。 |
/pluralize |
自动为类和成员名称应用复数或单数形式。 此选项只在(美国)英文版中可用。 |
/serialization: <选项> |
生成可序列化的类。 有效的 <选项> 包括:None、Unidirectional。默认值: None。 有关更多信息,请参见 |
输入文件
选项 |
说明 |
---|---|
<input file> |
指定 SQL Server Express .mdf 文件、SQL Server Compact 3.5 .sdf 文件或 .dbml 中间文件。 |