关键问题 - 在MVC项目中更新edmx模型时

时间:2014-01-02 06:07:44

标签: sql-server asp.net-mvc entity-framework-5 edmx

我正在研究MVC项目,我使用了Entity Framework 5.0并从SQL数据库生成了模型(edmx文件),这个模型为我提供了自动生成的每个表的类文件。我在这些类文件中对验证消息和所有内容进行了一些更改。

现在的问题是,无论何时我要更新模型(edmx文件),它都会生成类文件,但我的更改已经消失,意味着我在类文件中的更改以进行验证,所有内容都不再可用于模型

每次通过数据库更新模型时,我都面临着关键问题。

2 个答案:

答案 0 :(得分:3)

您需要使用部分类进行自定义。保留生成的文件,每次进行任何更改时都会重新生成。

public partial class ClassThatIsAlsoInTheEDMX
{
    public string MyCustomFunction()
    {
        return "Wow, this is exciting";
    }
}

当编译它时,生成的EDMX类(也是一个部分类)和你的部分类被组合起来并作为一个对象。

此处有更多详情http://robbincremers.me/2012/01/31/entity-framework-using-partial-classes-to-add-business-logic-and-validation-to-generated-entities/

答案 1 :(得分:0)

您可以在项目中使用ViewModels,在这些视图模型中,您可以定义验证属性。并将这些视图模型作为模型提供给您的视图。

您可以通过创建Mapper方法或使用AutoMapper等库来将实体映射到ViewModel。

对于自定义映射检查:http://www.adamriddick.com/2013/08/asp-net-mvc-4-your-first-application-part-3/

的“映射助手类”部分

在该教程中,您还可以找到ViewModels的使用。

我希望它有所帮助..