使LinqToSQL与数据库保持同步
我将使用asp.net 3.5和LinqToSQL开发一个新网站。 出于可维护性的目的,如果将属性添加到数据库中的表中,如何修改Linq类?
谢谢。
不幸的是,LinqToSQL在Visual Studio中没有同步支持。 选项是:
- 删除表并再次添加。 当然,任何自定义更改都会丢失
- 直接编辑.dbml文件文件并添加属性。 该文件具有xml内容,保存时将重新生成.cs文件。
- 使用第三方插件,如:
每次更改基础数据库时,都需要重新生成模型。
如果您不需要自定义数据模型,或者只是通过partial
类自定义它,则可以使用SQLMetal.exe
生成数据模型。 它附带了.NET 3.5,有几个人在网上撰写了关于制作批处理文件的文章,您可以运行这些文件来自动化该过程。
- http://csainty.blogspot.com/2008/02/linq-to-sql-sqlmetalexe.html
- http://blog.benhall.me.uk/2007/08/power-of-sqlmetal.html
然后,如果您更新数据库,只需运行批处理文件,所有内容都会再次同步!