传统的 EF 问题开始于:我的模型是
public class Ingredient
{
public int IngredientID { get; set; }
public virtual RequestedIngredient RequestedIngredient { get; set; }
// other stuff
}
public class RequestedIngredient
{
[Key]
string BlahBlahBlah { get; set; }
public int? IngredientID { get; set; }
public virtual Ingredient Ingredient { get; set; }
}
在 dbContext 的某个地方...
modelBuilder.Entity<Ingredient>()
.HasOptional<RequestedIngredient>(e => e.RequestedIngredient)
.WithOptionalPrincipal(e => e.Ingredient)
.Map(e => e.MapKey("IngredientID"))
.WillCascadeOnDelete(false);
但我得到指定的架构无效。错误:(195,6):错误 0019:类型中的每个属性名称必须是唯一的。已定义属性名称“IngredientID”。
如果我从 RequestedIngredient 中删除 IngredientID,数据库将按照我的意愿创建。但我无权访问 IngredientID。如何设置它以访问外键?