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;
}