如何在实体框架中从模型优先改为代码优先

时间:2014-02-09 22:52:03

标签: c# entity-framework

我已经使用Model-First开始了一个项目,现有基础,现在我需要更改为代码优先来改变FK中的一些细节。   那么我如何保持类并更改为代码优先?它甚至可能吗?

2 个答案:

答案 0 :(得分:1)

我最近自己这样做了。 Model-First和Code-First的表达能力是相同的。如果您编写Code-First类,使得属性名称和类型与Model-First类型中的属性名称和类型相匹配,则转换应该非常简单。

例如,如果您的模型优先模型Item带有int ID密钥,string Nameint ListID外键,则List List导航属性,您可以按如下方式编写Code-First类。

class Item
{
    [Key]
    public int ID { get; set; }

    public string Name { get; set; }

    public int ListID { get; set; }

    [ForeignKey("ListID")]
    public virtual List List { get; set; }        
}

使用Item的所有旧代码都应该可以继续使用。

答案 1 :(得分:1)

假设您已经从模型生成了数据库,则可以使用Entity Framework Power Tools的“逆向工程师代码优先”功能。这将为您生成POCO模型类和Fluent API映射类。

相关问题