我在规范化数据库上使用 EF。
对于我的 Offers 实体,我有以下表结构:
优惠
加上:
邮政类型
Offers_SitePost 或 Offers_CommunityPost
加上:
报价类型
Offers_VoucherCode or Offers_Deal or Offers_Sale
因此,完整的报价将由 Offers 中的明确条目加上 PostType 表之一中的条目和 OfferType 表之一中的条目组成。
我从 offer 表中知道,其他哪些表应该包含数据。我正在使用 IsSitePost 之类的属性来执行此操作。
我正在尝试找出获取必要数据的最佳方法,包括单个报价和报价列表。显然我可以包括所有表格,但我怀疑这是否会是最有效的。
这是我正在为单一报价处理的代码:
public static Offer GetById2(int ID)
{
ID.ThrowDefault("ID");
var r = new CrudRepo<Offer>(Local.Items.Uow.Context);
var offer = r.Find(o => o.OfferId == ID);
// if is site post Include("SiteOffers")
// else is community post Include("CommunityOffers") etc
return offer.SingleOrDefault();
}
任何人都可以就实现这一目标的最佳方式提供建议吗?