C# 实体框架代码第一流映射
我有两张桌子C# 实体框架代码第一流映射,c#,entity-framework,C#,Entity Framework,我有两张桌子 StoreOrderItem 商店订单 现在StoreOrder有许多StoreOrderItems,StoreOrderItem有一个StoreOrder(简单的1对多关系) 公共类StoreOrderItemMap:EntityTypeConfiguration { public StoreOrderItemMap() { 本表为ToTable(“StoreOrderItem”); this.HasKey(op=>op.Id); this.Property(op=>op.S
- StoreOrderItem
- 商店订单
经过几天的苦思冥想,终于发现了问题 StoreOrder类中还有另一个属性
public virtual IList<StoreOrderItem> NonVoucherOrderItems
{
get
{
return this.StoreOrderItems.Where(x => !x.IsVoucher()).ToList();
}
}
公共虚拟IList非VoucherOrderItems
{
得到
{
返回此.StoreOrderItems.Where(x=>!x.is凭单()).ToList();
}
}
这被评估得太早,造成了各种混乱,改为
public virtual IEnumerable<StoreOrderItem> NonVoucherOrderItems
{
get
{
return this.StoreOrderItems.Where(x => !x.IsVoucher());
}
}
公共虚拟IEnumerable非VoucherOrderItems
{
得到
{
返回此.StoreOrderItems.Where(x=>!x.IsVoucher());
}
}
而且它立刻起作用了 经过几天的思考后发现了问题 StoreOrder类中还有另一个属性
public virtual IList<StoreOrderItem> NonVoucherOrderItems
{
get
{
return this.StoreOrderItems.Where(x => !x.IsVoucher()).ToList();
}
}
公共虚拟IList非VoucherOrderItems
{
得到
{
返回此.StoreOrderItems.Where(x=>!x.is凭单()).ToList();
}
}
这被评估得太早,造成了各种混乱,改为
public virtual IEnumerable<StoreOrderItem> NonVoucherOrderItems
{
get
{
return this.StoreOrderItems.Where(x => !x.IsVoucher());
}
}
公共虚拟IEnumerable非VoucherOrderItems
{
得到
{
返回此.StoreOrderItems.Where(x=>!x.IsVoucher());
}
}
而且它立刻起作用了 你确定你的映射用于映射吗?很抱歉,我不明白你的意思…我问你在构建模型时是否已将
StoreOrderItemMap
添加到DbModelBuilder
的Configurations
集合中?在DbContext类中,你在模型创建时是否有方法保护覆盖void(DbModelBuilder modelBuilder)?是的,这是针对每种类型的(EntityTypeConfiguration)执行的使用Reflection你确定你的映射用于映射吗?很抱歉,我不明白你的意思…我问你是否在构建模型时将StoreOrderItemMap
添加到DbModelBuilder
的配置
集合中?在DbContext类中,你有方法保护覆盖void OnModelCreating吗(DbModelBuilder modelBuilder)?是的,这是使用反射对每种类型的(EntityTypeConfiguration)执行的