1
所以我想如下创建一个简单的产品 - 预览1对1的关系:EF代码首先不是一个外键设置为一个关系
public class Product : BaseEntity
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public Guid Id { get; set; }
public string name { get; set; }
public virtual EPS eps { get; set; }
public virtual Preview preview { get; set; }
[ForeignKey("userId")]
public virtual User user { get; set; }
public Guid userId { get; set; }
}
和
public class Preview : BaseEntity
{
[Key,ForeignKey("Product")]
public Guid Id { get; set; }
public string imagePath { get; set; }
public double width { get; set; }
public double height { get; set; }
public virtual List<TextPreview> Texts { get; set; }
public virtual List<ImagePlaceHolder> ImagePlaceHolders { get; set; }
[ForeignKey("ProductId")]
public virtual Product Product { get; set; }
public virtual Guid ProductId { get; set; }
}
我期待在预览表中有一个外键,它将指向一个产品 ,但在运行迁移后,我将它作为常规字段
我做错了什么?
感谢您的帮助,但是如果我遵循您的建议,最终会出现此错误:多重性在“Preview_product”关系中的'Preview_product_Source'角色中无效。因为“依赖角色”属性不是关键属性,所以“依赖角色”的多重性的上界必须为“*”。 –
这就是这个问题解决,你现在有一个不同的问题,这里解释这里... https://stackoverflow.com/questions/9292738/entity-framework-4-0-error-113-multiplicity-is-not-valid在角色 – War
基本上你有1对1的关系,它似乎可能是问题,你想要的是一个0-1到1的关系...使guid ProductId可为空“Guid?”可以解决这个问题 – War