【发布时间】:2013-10-30 16:51:30
【问题描述】:
我有一个产品类:
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);
但这无济于事,我如何分配一个主要结束?上什么课?
【问题讨论】:
标签: c# asp.net entity-framework asp.net-mvc-4 fluent-interface