通过在委托中附加来在上下文中插入空对象

时间:2015-02-13 20:19:24

标签: c# entity-framework generics delegates

我在C#中使用Entity Framework 6.1。我在函数中创建了一个上下文,并使用泛型参数调用委托并将上下文作为另一个传递:

public void Save<NativeType>(Item item,
                             Func<NativeType, DatabaseMappingContext, bool> saveDel)
{
  using(var db = new DatabaseMappingContext())
  {
    saveDel(item, db);
    DbSet<NativeType> dbSet = db.DbSets[nativeType].Cast<NativeType>();
    dbSet.Add(item);
    db.SaveChanges();
  }
}

在代表内:

(Item item, DatabaseMappingContext db) =>
{
  db.InnerItems.Attach(item.InnerItem);
  return true;
}

我面临的问题是在db.InnerItems上下文中,在InnerItem调用之后插入了空Attach()个对象。我认为它必须在将泛型与委托和上下文生命周期结合使用时做一些事情,但我不确定。有什么想法吗?我做错了吗?

0 个答案:

没有答案