sqlMetal 的用法

SqlMetal是跟随VS发布的一个自动工具,可以用来生成数据库的Linq代码。

这是中文版的帮助文件。

SqlMetal [选项] [<输入文件>]

为 .NET Framework 的 LINQ to SQL 组件生成代码和映射。SqlMetal 能够:
- 依据数据库生成源代码及映射属性或映射文件。
- 依据数据库生成中间 dbml 文件以进行自定义。
- 依据 dbml 文件生成代码及映射属性或映射文件。

选项:
/server:<名称> 数据库服务器名称。
/database:<名称> 服务器上的数据库目录。
/user:<名称> 登录用户 ID (默认值: 使用 Windows 身份验证)。
/password:<密码> 登录密码(默认值: 使用 Windows 身份验证)。
/conn:<连接字符串> 数据库连接字符串。不能将连接字符串与 /server、/database、/user 或 /password 选项一起使用。
/timeout:<秒数> 要在 SqlMetal 访问数据库时使用的超时值(默认值: 0,表示无限期)。

/views 提取数据库视图。
/functions 提取数据库函数。
/sprocs 提取存储过程。

/dbml[:文件] 输出为 dbml。不能与 /map 选项一起使用。
/code[:文件] 输出为源代码。不能与 /dbml 选项一起使用。
/map[:文件] 生成映射文件而不是属性。不能与 /dbml 选项一起使用。

/language:<语言> 源代码语言: VB 或 C# (默认值: 派生自代码文件名的扩展名)。
/namespace:<名称> 生成的代码的命名空间(默认值: 无命名空间)。
/context:<类型> 数据上下文类的名称(默认值: 派生自数据库名称)。
/entitybase:<类型> 生成的代码中的实体类的基类(默认值: 实体没有基类)。
/pluralize 使用英语语言规则自动设置类和成员名称的单复数形式。
/serialization:<选项> 生成可序列化的类: None 或 Unidirectional (默认值: None)。
/provider:<类型> 提供程序类型: SQLCompact、SQL2000、SQL2005 或 SQL2008。(默认值: 提供程序是在运行时确定的)。

<输入文件> 可以是 SqlExpress mdf 文件、SqlCE sdf 文件或 dbml 中间文件。

通过 SqlServer 创建代码:
SqlMetal /server:myserver /database:northwind /code:nwind.cs /namespace:nwind

通过 SqlServer 生成中间 dbml 文件:
SqlMetal /server:myserver /database:northwind /dbml:northwind.dbml /namespace:nwind

通过 dbml 生成包含外部映射的代码:
SqlMetal /code:nwind.cs /map:nwind.map northwind.dbml

通过 SqlCE sdf 文件生成 dbml:
SqlMetal /dbml:northwind.dbml northwind.sdf

通过 SqlExpress 本地服务器生成 dbml:
SqlMetal /server:sqlexpress /database:northwind /dbml:northwind.dbml

通过在命令行中使用连接字符串生成 dbml:
SqlMetal /conn:"server='myserver'; database='northwind'" /dbml:northwind.dbml

 

例子: 生成包含存储过程的Dbml文件

C:temp>sqlmetal /server:localhost /database:tsx /dbml:tsx.dbml /namespace:tsx  /sprocs

IF $(ConfigurationName) == VO "%PROGRAMFILES%\Microsoft SDKs\Windows\v6.0A\Bin\sqlmetal"

/server:DETIAN-SCL07H66 /database:test /user:sa /password:hello /dbml:$(ProjectDir)LinqData\DAO.dbml /sprocs /functions /entitybase:System.Data.Linq.DataContext


IF $(ConfigurationName) == VO "%PROGRAMFILES%\Microsoft SDKs\Windows\v6.0A\Bin\sqlmetal"

/namespace:LinqData /code:$(ProjectDir)LinqData\DAO.designer.cs /language:csharp /context:DAODataContext

/entitybase:System.Data.Linq.DataContext /serialization:Unidirectional $(ProjectDir)LinqData\DAO.dbml

posted on 2011-10-22 01:06  万德源  阅读(3072)  评论(1编辑  收藏  举报