EF 4.1 Code First:类型中的每个属性名称在查找表关联上必须是唯一错误
这是我第一次尝试创建自己的EF模型,我发现自己试图使用Code First创建查找表关联,因此我可以访问:
myProduct.Category.AltCategoryID
我已经设置模型和映射,因为我理解是正确的,但继续得到错误0019:类型中的每个属性名称必须是唯一的。 已定义属性名称“CategoryID”
我的代码中表示了以下模型:
[Table("Product", Schema="mySchema")] public class Product { [Key, DatabaseGenerated(System.ComponentModel.DataAnnotations.DatabaseGeneratedOption.None)] public int ProductID { get; set; } public int CategoryID { get; set; } public virtual Category Category { get; set; } } [Table("Category", Schema="mySchema")] public class Category { [Key, DatabaseGenerated(System.ComponentModel.DataAnnotations.DatabaseGeneratedOption.None)] public int CategoryID { get; set; } public string Name { get; set; } public int AltCategoryID { get; set; } }
我已经指定了以下关联:
modelBuilder.Entity() .HasOptional(p => p.Category) .WithRequired() .Map(m => m.MapKey("CategoryID"));
我尝试过其他一些东西,包括添加[ForeignKey]注释,但这会导致包含对ProductID字段的引用的错误。
您正在寻找:
上述就是C#学习教程:EF 4.1 Code First:类型中的每个属性名称在查找表关联上必须是唯一错误分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
modelBuilder.Entity() // Product must have category (CategoryId is not nullable) .HasRequired(p => p.Category) // Category can have many products .WithMany() // Product exposes FK to category .HasForeignKey(p => p.CategoryID);
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/1022880.html