我有一个产品类:
public class Product
{
public int ID { get; set; }
[Required]
public string Name { get; set; }
public decimal Price { get; set; }
public Offer Offer { get; set; }
}
还有一个 Offer 类:
public class Offer
{
public int ID { get; set; }
[Required]
public DateTime DateFrom { get; set; }
public DateTime DateTo { get; set; }
public decimal OfferPrice { get; set; }
public Product Product { get; set; }
}
基本上我想要实现的是在添加报价时,产品与此报价相关。因此,要约总是有产品,但产品并不总是需要要约。如果产品确实有优惠,我希望能够通过 访问它Product.Offer
,但在此设置中,我在更新数据库时收到以下错误消息:
无法确定类型“WebshopISEC.Models.Offer”和“WebshopISEC.Models.Product”之间关联的主体端。此关联的主体端必须使用关系流式 API 或数据注释显式配置。
我尝试了很多东西(数据注释和 Fluent API)并无休止地搜索,但我似乎无法解决这个问题。我尝试过的 Fluent API 方法:
modelBuilder.Entity<Offer>()
.HasRequired(x => x.Product)
.WithOptional(x => x.Offer);
但这无济于事,我该如何分配校长端?上什么课?