Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 通过在委托内部附着在上下文中插入空对象_C#_Entity Framework_Generics_Delegates - Fatal编程技术网

C# 通过在委托内部附着在上下文中插入空对象

C# 通过在委托内部附着在上下文中插入空对象,c#,entity-framework,generics,delegates,C#,Entity Framework,Generics,Delegates,我正在C中使用实体框架6.1。我在函数中创建上下文,并使用泛型参数调用委托,并将上下文作为另一个参数传递: public void Save<NativeType>(Item item, Func<NativeType, DatabaseMappingContext, bool> saveDel) { using(var db = new DatabaseMappingContext()) { sa

我正在
C
中使用实体框架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();
  }
}
我面临的问题是,在
db.InnerItems
上下文中,在
Attach()
调用之后插入了空的
InnerItem
对象。我认为它必须与泛型结合使用委托和上下文生命周期有关,但我不确定。有什么想法吗?我做错什么了吗

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