我正在使用VS2012开始MVC4。我还将EF5与创建类的"数据库第一"方法一起使用。
但是,由于可以再生生成的眼镜,所以我不能将数据注释详细信息提供以帮助验证。
我看到了一些使用元数据和部分类的代码片段,但我想知道是否有人知道一个可以查看的小型汇编示例,我可以看一下,以更好地理解vasious类是如何相互链接的。
。非常感谢您的任何帮助。dave
您可以通过扩展模型来实现所需的目标。假设EF为您生成以下实体类:
namespace YourSolution
{
using System;
using System.Collections.Generic;
public partial class News
{
public int ID { get; set; }
public string Title { get; set; }
public int UserID { get; set; }
public virtual UserProfile User{ get; set; }
}
}
您想进行一些围绕您的数据注释和属性进行一些工作。因此,请按照以下步骤:
首先,添加两个类别的地方(无论您在哪里,但是在Models
中最好)如下:
namespace YourSolution
{
[MetadataType(typeof(NewsAttribs))]
public partial class News
{
// leave it empty.
}
public class NewsAttribs
{
// Your attribs will come here.
}
}
然后将您想要的属性和属性添加到第二类-NewsAttribs
。:
public class NewsAttrib
{
[Display(Name = "News title")]
[Required(ErrorMessage = "Please enter the news title.")]
public string Title { get; set; }
// and other properties you want...
}
注意:
1)生成的实体类的名称空间和您的类必须是相同的 - 此处YourSolution
。
2)您的第一类必须为 partial
,其名称必须与EF生成的类相同。
遍历此,您的属性再也不会丢失了...