LINQtoSQL:映射文件有什么用?
我目前正在使用 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 选项一起使用。
我想知道我是否也应该使用地图文件?与代码属性相比,映射文件有哪些优点?
I am currently using SqlMetal to generate my dbml and code file. I am using Visual Studio 2010 and SqlServer 2000. Unfortunately Visual Studio 2010 only support SqlServer 2005 or greater so I am unable to generate the code using the built-in wizard.
I have been generating my dbml and code files by using:
>sqlmetal /server:myServer /database:myDatabase /dbml:myDatabase.dbml
>sqlmetal /code:myDatabase.cs myDatabase.dbml
I have noticed there is a map file option.
Generates an XML mapping file instead of attributes. Cannot be used with /dbml option.
I was wondering if I should also be using a map file? What is the advantages to a map file over code attributes?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
请参阅:http://msdn.microsoft.com/en-us/library/bb386907 .aspx(映射)
请参阅:http://msdn.microsoft.com/en-us/library/bb386971 .aspx(属性)
基本上,您可以使用外部映射文件(POX)而不是 dbml,后者应该将映射代码与应用程序代码分开。
我会使用 DBML,除非您计划需要能够在不重新编译的情况下更改映射,或者您需要精确控制映射(也许是为了奇怪的自定义内容)。地图文件不会改变。 dbml 可能(删除您可能所做的任何自定义更改)。
See: http://msdn.microsoft.com/en-us/library/bb386907.aspx (mapping)
See: http://msdn.microsoft.com/en-us/library/bb386971.aspx (attributes)
Bascially you can use an external mapping file (POX) instead of the dbml which is supposed to keep the mapping code separate from your application code.
I would use the DBML unless you plan on needing to be able to change mapping without recompilation or you need to have exact control over the mapping (maybe for odd custom stuff). Map file won't change. dbml might (removing any custom changes you may have made).