2013-03-01 146 views
2

我想以编程方式更新ADO.Net实体数据模型,以便EDM获取最新版本的数据库(新表格,值等)。一旦添加或更改了数据库表,实体模型就会过时。重新编译数据服务不是一种选择。动态更新实体模型框架

我知道可以通过点击模型设计器,从数据库更新模型来更新EDM。

你知道任何解决方案吗?是否有编程方式更新实体模型的工具?

回答

0

您可以使用EDM Generator 也请看DBMetal。 但我建议你摆脱设计师生成的模型,并使用代码优先的方法:轻量级POCO和流畅映射(流畅=>无属性,映射类很容易管理)。维护起来要容易得多。 + EF支持Code First Migrations。

0

从我的理解来看,EF并没有真正支持这个要求。再次生成模型将执行代码生成。但是,您仍然需要编译然后重新缓存元数据和视图。这对EF来说成为一个非常昂贵的建议。

如果您的模式经常更改,您甚至可能不需要关系数据库。您应该查看无模式持久性(nosql)。例如Raven DB可以更容易地让你动态地改变你保存的形状。

+0

我使用WCF OData服务作为我的应用程序数据提供者。我听说有一种工具可以动态更新实体模型框架。你有什么主意吗? – Geetha 2013-03-05 09:59:24

+0

不,我不知道使用OData动态更改模式的方法。 – 2013-03-05 10:11:18