EF CTP5 - 找不到“数据库优先”示例

时间:2011-03-11 01:40:33

标签: entity-framework entity-framework-ctp5

我是CTP的新手,刚刚下载了CTP5。我有一个现有的数据库,我在迭代的开发周期中不断重新生成我的* .edmx文件数月。最令人头疼的问题之一是,每次重新生成* .edmx文件时,我都必须手动进入并修复问题。浪费巨大的时间。例如,我有一个表有一个BillingAddressID和HomeAddressID字段,这两个字段都是我的地址表的FK。当EF向导为我生成我的模型时,它们将作为地址和地址1出现。我必须手动进入设计器并将它们重命名为BillingAddress和HomeAddress。

我希望通过CTP5我可以插入生成管道并在每次重新生成时自动修复模型。但是那里的所有例子似乎都是“代码优先”,我找不到任何插入“数据库优先”模型生成代码的例子。

可以用CTP5完成吗?如果是这样,有人可以指点我的教程或样本吗?

由于

2 个答案:

答案 0 :(得分:0)

http://weblogs.asp.net/scottgu/archive/2010/08/03/using-ef-code-first-with-an-existing-database.aspx

它不会为你生成模型,代码首先是编写自己的POCO。但它确实支持db-first场景。

更新 我刚做了一个快速实验,发现在我重命名EDMX设计工具生成的列的情况下(根据你的问题的例子),我仍然可以从数据库工具运行更新模型(右键单击在设计图面上,选择“从数据库更新模型”,它不会覆盖我的更改。

你不是手工编辑生成的代码文件吗?

答案 1 :(得分:0)

我想知道你的模型的哪些属性被重命名?从数据库更新模型时,不会修改对实体(CSDL)所做的更改。仅覆盖对SSDL(数据库描述)的手动更改。当然,如果您只是删除EDMX并让VS创建新的EDMX,那么您的更改将会丢失。

如果您想使用CTP5 features with EDMX,那么您可能正在使用与现在相同的EDMX,因此如果您在EDMX处理方面遇到一些问题,这些问题将会持续存在。