2010-09-16 49 views
2

我有一种观点,我一直在试图将实体框架或linq映射到sql。然而,当查询视图时,它只是可怕地崩溃(这只是这个视图)。Visual Studio:你如何刷新Linq到Sql/Entity Framework的元数据

因为错误消息是完全通用的我以为我会分裂和征服,并删除我的观点(在SQL Server中)的一半列,然后更新DataClasses ...但是,当我编译我得到一个错误:

The associated metadata type for type 'test' contains the following unknown properties or fields 

...然后列出我已删除的所有字段。我试图清理我的解决方案,但仍然得到这个错误。

如何刷新元数据?

回答

1

如果您将数据库对象从服务器资源管理器拖动到L2S设计器中,那么在第一轮之后它会缓存架构信息。如果您执行架构更改并希望重新拖动同一对象,则需要断开连接并重新连接服务器资源管理器,或重新启动Visual Studio以使其重新查询架构信息的数据库。

EF的“来自数据库的更新模型”应该不会受到缓存的影响,但是它具有另一个问题,它只会更新EF模型的SSDL部分,而将CSDL中的以前映射的实体/列/等留在原地在那里他们成为孤儿,并可能导致模型验证失败,必须手动清理或使用第三方工具。

这两个问题是由各种第三方工具解决,列表或第三方工具L2S和/或EF看到:
http://www.thinqlinq.com/default/LINQ-Tools.aspx
http://damieng.com/blog/2009/06/04/linq-to-sql-resources

一个解决双方的上述问题的工具是我的Visual Studio插件,Huagati DBML/EDMX工具。如果你想尝试它,你可以下载它并从http://huagati.com/dbmltools/

+0

获得试用许可证感谢您的信息 – 2010-09-17 01:59:53