2015 年 2 月前言 如果您仍在使用 Entity Framework EDMX,请帮自己一个忙并使用 Entity Framework Code First 结帐。不同之处在于您的表是从您的模型类创建的,而不是在 EDMX 中,您的模型类是用您的表创建的。这是一个更简单的解决方案,这个问题中的问题甚至不存在!
Getting Started with Entity Framework 6 Code First using MVC 5
我有一个现有的 SQL 数据库,我使用 ADO.NET Enity 数据模型作为模型。我正在尝试将一些 CRUD 功能构建到我的 MVC 应用程序中。
在我找到的有关该主题的所有教程中,他们从头开始构建模型并将属性添加到模型类。例如:
[Required]
[StringLength(10)]
public string Name { get; set; }
然而,模型类是自动生成的,所以我认为改变它们是一个坏主意(如果数据库模型被刷新,无论如何都会被覆盖)。
我将如何添加验证属性?
最佳答案
您可以创建一个与 EF 生成的类分开的分部类来存储元数据。
//Contact.cs - The original auto-generated file
[System.ComponentModel.DataAnnotations.MetadataType(typeof(ContactMetadata))]
public partial class Contact
{
public int ContactID { get; set; }
public string ContactName { get; set; }
public string ContactCell { get; set; }
}
//ContactMetadata.cs - New, seperate class
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
internal sealed class ContactMetadata
{
[Required(ErrorMessage = "Name is required.")]
[StringLength(5)]
public string ContactName;
}
关于entity-framework - 使用 Entity Framework 数据模型添加验证属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14059455/