作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
这是我第一次尝试创建自己的 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<Product>()
.HasOptional(p => p.Category)
.WithRequired()
.Map(m => m.MapKey("CategoryID"));
我尝试了其他一些方法,包括添加 [ForeignKey] 注释,但这会导致包含对 ProductID 字段的引用的错误。
最佳答案
您正在寻找:
modelBuilder.Entity<Product>()
// 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);
关于c# - EF 4.1 代码优先 : Each property name in a type must be unique error on Lookup Table association,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6526182/
我是一名优秀的程序员,十分优秀!