yra*_*man 23 c# entity-framework class partial
我有一个由Entity Framework(EF)生成的员工类.
public partial class employee
{
private string name;
public string Name
{
get{return name;}
set{ name = value;}
}
}
Run Code Online (Sandbox Code Playgroud)
现在我想在name属性中放入一个必需的属性,用于在另一个员工的部分类中进行MVC3验证,这是由我编写的,以扩展由EF生成的那个,这样我就不必重写我的代码了.如果我刷新EF生成的模型.
我写的部分类在同一个程序集和名称空间中.
public partial class employee
{
// What should I write here to add required attribute in the Name property?
}
Run Code Online (Sandbox Code Playgroud)
Lad*_*nka 27
它实际上只能通过好友类来实现,但不建议这样做.您应该在自定义视图模型中保留验证,因为通常需要对不同视图进行不同的验证,但您的实体只能保留一组验证属性.
好友类的例子:
using System.ComponentModel.DataAnnotations;
[MetadataType(typeof(EmployeeMetadata))]
public partial class Employee
{
private class EmployeeMetadata
{
[Required]
public object Name; // Type doesn't matter, it is just a marker
}
}
Run Code Online (Sandbox Code Playgroud)
据我所知,你不能 - 这是不可行的.
您可能应该查看MVC3是否有任何方法可以在其他属性(例如,类型)中添加与另一个属性相关的属性.
或者,您可以添加代理属性:
[ValidationAttributesHere]
public string ValidatedName
{
get { return Name; }
set { Name = value; }
}
Run Code Online (Sandbox Code Playgroud)