Я использую EF4 и встроенный шаблон сущностей с самообследованием, чтобы генерировать мои энтиты из моей модели. Я также изменил шаблон T4 так, чтобы все ссылки на «ObjectContext» были изменены на «IObjectContext», и я применил интерфейс к автоматически сгенерированному контексту (все это было для целей тестирования и проверки).
//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 (customer);" потому что я работаю с типами "IObjectSet". Мне действительно нужно вызвать этот метод, чтобы обновить отдельную сущность !!! Так что теперь я не могу понять, как обновить свои сущности, так как я не работаю с конкретным классом ObjectSet.