我正在研究MVC项目,我使用了Entity Framework 5.0并从SQL数据库生成了模型(edmx文件),这个模型为我提供了自动生成的每个表的类文件。我在这些类文件中对验证消息和所有内容进行了一些更改。
现在的问题是,无论何时我要更新模型(edmx文件),它都会生成类文件,但我的更改已经消失,意味着我在类文件中的更改以进行验证,所有内容都不再可用于模型
每次通过数据库更新模型时,我都面临着关键问题。
答案 0 :(得分:3)
您需要使用部分类进行自定义。保留生成的文件,每次进行任何更改时都会重新生成。
public partial class ClassThatIsAlsoInTheEDMX
{
public string MyCustomFunction()
{
return "Wow, this is exciting";
}
}
当编译它时,生成的EDMX类(也是一个部分类)和你的部分类被组合起来并作为一个对象。
答案 1 :(得分:0)
您可以在项目中使用ViewModels,在这些视图模型中,您可以定义验证属性。并将这些视图模型作为模型提供给您的视图。
您可以通过创建Mapper方法或使用AutoMapper等库来将实体映射到ViewModel。
对于自定义映射检查:http://www.adamriddick.com/2013/08/asp-net-mvc-4-your-first-application-part-3/
的“映射助手类”部分在该教程中,您还可以找到ViewModels的使用。
我希望它有所帮助..