LINQtoSQL:什么是地图文件?

时间:2011-01-19 17:01:35

标签: c# linq-to-sql sqlmetal

我目前正在使用SqlMetal生成我的dbml和代码文件。我正在使用 Visual Studio 2010 SqlServer 2000 。不幸的是, Visual Studio 2010 仅支持 SqlServer 2005或更高版本,因此我无法使用内置向导生成代码。

我一直在使用:

生成我的dbml和代码文件
>sqlmetal /server:myServer /database:myDatabase /dbml:myDatabase.dbml
>sqlmetal /code:myDatabase.cs myDatabase.dbml

我注意到有一个地图文件选项。

  

生成XML映射文件而不是属性。不能与/ dbml选项一起使用。

MSDN on SqlMetal.exe

我想知道我是否也应该使用地图文件?映射文件优于代码属性有什么优势?

1 个答案:

答案 0 :(得分:1)

请参阅:http://msdn.microsoft.com/en-us/library/bb386907.aspx(映射) 请参阅:http://msdn.microsoft.com/en-us/library/bb386971.aspx(属性)

基本上,您可以使用外部映射文件(POX)而不是dbml,它应该将映射代码与应用程序代码分开。

我会使用DBML,除非您计划需要能够在不重新编译的情况下更改映射,或者您需要对映射进行精确控制(可能对于奇怪的自定义内容)。地图文件不会改变。 dbml可能(删除您可能进行的任何自定义更改)。