数据库架构更改后将LINQ更新为SQL类的最佳方法
时间:2020-03-05 18:46:35 来源:igfitidea点击:
我在一个项目中使用LINQ to SQL类,而该项目的数据库设计仍然有些变化。
有没有简单的方法可以将类与模式同步,或者如果表设计发生更改,是否需要手动更新类?
解决方案
回答
我认为杰夫最近对此抱怨。一种常见的技术是将所有对象再次拖到设计器中。
我希望其他人能以更好的方式参与进来!
回答
我们可以使用SQLMetal.exe生成dbml和/或者cs / vb文件。使用预构建脚本启动它,并定位datacontext项目所属的目录。
C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bin\x64\sqlmetal.exe /server:<SERVER> /database:<database> /code:"path\Solution\DataContextProject\dbContext.cs" /language:csharp /namespace:<your namespace>
回答
我自己还没有尝试过,但是其他人推荐使用Huagati DBML / EDMX工具。
Huagati DBML/EDMX Tools is an add-in for Visual Studio that adds functionality to the Linq2SQL/DBML diagram designer in Visual Studio 2008, and to the ADO.NET Entity Framework designer in Visual Studio 2008 SP1. The add-in adds new menu options for updating Linq2SQL designer diagrams with database changes, for renaming Linq-to-SQL (DBML) and EF (EDMX) classes and properties to use .net naming conventions, and for adding documentation/descriptions to Linq-to-SQL generated classes from the database properties.
回答
DamienG已经编写了一些t4模板,可以代替VS为我们生成的一些模板。只要我们愿意,就可以通过命令行工具重新运行这些文件。
T4模板具有可编辑的添加好处。这使我们可以调整心中所产生的内容。
回答
我写了一个工具来对Dbml脚本进行脚本更改,请参阅http://code.google.com/p/linqtodbmlrunner/和我的博客http://www.adverseconditionals.com