2
我正在使用EF4和內置的自我跟蹤實體模板來從我的模型中生成我的實體。我還修改了T4模板,以便將所有對「ObjectContext」的引用更改爲「IObjectContext」,並將接口應用於自動生成的上下文(所有這些僅用於測試和模擬目的)。實體框架4,自我跟蹤實體T4模板,ApplyChanges()擴展方法
//my interface
public interface IDatabaseEntities
{
IObjectSet<Customer> Customers {get;}
int SaveChanges();
}
//self tracking entity auto gen code, with my mods
public partial class DatabaseEntities : ObjectContenxt, IDatabaseEntities
{
//auto gen stuff here
public IObjectSet<Customer> Customers
//more auto gen stuff
}
在T4模板中,它們生成一個擴展方法ApplyChanges(),它只適用於類型爲「ObjectSet」的對象。所以我不能打電話給「_context.Customers.ApplyChanges(客戶)」;「因爲我正在處理「IObjectSet」類型。我真的需要調用這個方法來更新一個獨立實體!所以現在我無法弄清楚如何更新我的實體,因爲我沒有使用具體的ObjectSet類。