通过EdmGen更灵活的控制EDM
在.NET Framework 3.5的文件夹下有一个名为EdmGen的工具,Visual Studio的实体设计器就是调用这个工具来完成EDM的生成等操作。通过直接使用这个工具的命令行选项我们可以进行更多的控制。
这个命令的参数及作用如下:
EdmGen 选项
/mode:EntityClassGeneration 从 csdl 文件生成对象
/mode:FromSsdlGeneration 从 ssdl 文件生成 msl、csdl 和对象
/mode:ValidateArtifacts 验证 ssdl、msl 和 csdl 文件
/mode:ViewGeneration 从 ssdl、msl 和 csdl 文件生成映射视图
/mode:FullGeneration 从数据库生成 ssdl、msl、csdl 和对象
/project:<字符串> 用于所有项目文件的基名称 (短格式: /p)
/provider:<字符串> 用于 ssdl 生成的 Ado.Net 数据提供程序的名称。(短格式: /prov)
/connectionstring:<连接字符串> 您要连接到的数据库的连接字符串 (短格式: /c)
/incsdl:<文件> 从中读取概念模型的文件
/refcsdl:<文件> 包含 /incsdl 文件所依赖的类型的 csdl 文件
/inmsl:<文件> 从中读取映射的文件
/inssdl:<文件> 从中读取存储模型的文件
/outcsdl:<文件> 将生成的概念模型写入到其中的文件
/outmsl:<文件> 将生成的映射写入到其中的文件
/outssdl:<文件> 将生成的存储模型写入到其中的文件
/outobjectlayer:<文件> 将生成的对象层写入到其中的文件
/outviews:<文件> 将预生成的视图对象写入到其中的文件
/language:CSharp 使用 C# 语言生成代码
/language:VB 使用 VB 语言生成代码
/namespace:<字符串> 用于概念模型类型的命名空间名称
/entitycontainer:<字符串> 用于概念模型中的 EntityContainer 的名称
/help 显示用法信息 (短格式: /?)
/nologo 取消显示版权消息
使用示例:
从 Northwind 示例数据库生成完整 Entity Model。
EdmGen /mode:FullGeneration /project:Northwind /provider:System.Data.SqlClient /connectionstring:"server=.\sqlexpress;integrated security=true; database=northwind"
从 ssdl 文件开始生成 Entity Model。
EdmGen /mode:FromSSDLGeneration /inssdl:Northwind.ssdl /project:Northwind
验证 Entity Model。
EdmGen /mode:ValidateArtifacts /inssdl:Northwind.ssdl /inmsl:Northwind.msl /incsdl:Northwind.csdl