我有以下数据对象:
public class Customer : System.Data.Entity.ModelConfiguration.EntityTypeConfiguration<Customer>
{
public Customer ()
{
// this.HasRequired(a => a.EyeColorType).WithMany().HasForeignKey(a => a.EyeColorTypeID);
}
[Key]
public int ID { get; set; }
[Required]
[MaxLength(100)]
public string FirstName { get; set; }
[Required]
[MaxLength(100)]
public string LastName { get; set; }
[Required]
[ForeignKey("EyeColorTypeID")]
public EyeColorType EyeColorType { get; set; }
// public int EyeColorTypeID { get; set; }
}
}
我想做的是暴露这个领域EyeColorTypeID
在生成的 Customer 属性上,以及在数据库中指定名称。
如果我删除这两个注释,它就可以工作,但我想为此使用数据注释。就像是[ExposeForeignKey("EyeColorTypeID")]
并让这一切自动发生。
这可能吗?我该怎么办呢?
只需将其添加到模型中并将导航属性设置为虚拟(用于延迟加载):
public class Customer : //etc
{
//your stuff
[Required]
public int EyeColorTypeID {get; set;}
public virtual EyeColorType EyeColorType { get; set; }
}
EF 的命名约定将绑定EyeColorTypeID
to the EyeColorType
导航属性。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)