Как вы используете метод SaveChanges () в Ado.net Entity Framework? - PullRequest
1 голос
/ 21 августа 2009

Я установил IDataContext, и когда я создаю класс данных для сущности, я наследую его от IDataContext.

Интерфейс IDataContext имеет 4 метода.

IQueryable<T> GetAll();
T GetById(long id);
void Add(T entity);
void Delete(T entity);
void Save(T entity);

Как вы знаете, методы удаления и сохранения имеют такую ​​структуру;

FooEntities db = new FooEntities();

db.DeleteObject(Foo entity);
// or save changes method
db.SaveChanges();

Я имел в виду, что эти два метода могут быть обобщены или что-то ...

У меня вопрос, как и где вы используете эти два метода.

  • Внутри каждого класса данных для сущности
  • или другой способ использования.

Ответы [ 2 ]

1 голос
/ 21 августа 2009

Вы можете абстрагировать детали каркаса с помощью шаблона Repository. Вот пример реализации IRepository для Entity Framework. Что касается того, где вызвать фактическое удаление и сохранение, ваш контроллер / докладчик является вероятным кандидатом.

0 голосов
/ 21 августа 2009

DeleteObject используется для удаления объекта из магазина. Вызов DeleteObject, как указано выше , помечает объект как удаленный. Вызов SaveChanges () фактически фиксирует это изменение в базе данных. Оба необходимы для удаления объекта из магазина.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...