LINQ to SQL - 如何处理数据库的更改

时间:2009-06-02 23:37:34

标签: linq linq-to-sql

我对LINQ to SQL很新,所以我可能会遗漏一些基本的东西。

我创建了一个LINQ to SQL层,生成了所有dbml文件等,并创建了一个工作正常的LINQ查询。然后我对数据库进行了更改,并希望将更改反映在ORM层中。为此,我删除了我的ORM层并创建了一个新的(可能不是最好的方法?)。

现在我的代码无法在intellisense中看到datacontext对象,也无法编译。我想这可能很简单,但我也想了解在数据库发生变化时如何更新LINQ to SQL ORM层的大局。

3 个答案:

答案 0 :(得分:2)

是的,您不想删除整个DBML文件。在设计器中打开它,并删除更改的表。然后从“服务器资源管理器”(在视图菜单中)再次拖放它。这将加载数据库的更新副本...   请注意,如果在对SQL架构进行更改时服务器资源管理器已打开,则需要刷新服务器资源管理器,使其具有最新版本。

这种方法的缺点是,如果您在DBML中对表进行自定义,则需要重做这些。这对我来说很少见。

答案 1 :(得分:0)

我记得这个问题很多。修复很简单,真的。重建您的解决方案!在构建期间生成DataContext和其他此类。

相当令人头疼 - 我希望DBML工具在您关闭它时为您完成此操作。

答案 2 :(得分:0)

您还可以使用SQLMetal更新DBML类。有些人甚至编写脚本或批处理文件来自动化该过程。