Я хотел бы узнать больше о предмете. В частности, есть ли какие-либо книг на DbContext
Я могу взять мои руки?
Ваш вопрос не начинается хорошо, потому что один запрос Google даст вам ответ на этот вопрос. Существует excellent book about DbContext сам — он не содержит ничего о Code First подхода, но я думаю, что это действительно не точка вашего вопроса.
Я нашел целый ряд вопросов, которые сравнивают DbContext
vs. ObjectContext
. Но большинство из них с 2010 года, или в начале 2011.
Если вы просто хотите заменить ObjectContext
+ EDMX с DbContext
+ EDMX, сравнение по-прежнему то же самое. DbContext
- обертка вокруг ObjectContext
, и ее набор функций не вырос, кроме как в отношении тех функций, которые связаны с первым кодом и мигрантами.
Я понимаю, что DbContext
более компактно в том, что он предоставляет меньше свойства. Это говорит о том, что я должен перейти от ObjectContext
.
Да, это более компактно и упрощает большинство распространенных задач, которые вы должны иметь с контекстом. Для более сложных задач вы все равно можете преобразовать экземпляр DbContext
в экземпляр ObjectContext
через IObjectContextAdapter
.
Но, если я сделаю эту миграцию, я откажусь от любых возможностей? Для примера , я читал, что DbContext
не имеет возможности STE (Self-tracking ). Сохраняется ли это по-прежнему, и это вызывает беспокойство?
STE был создан для ObjectContext
, и я не думаю, что это была портирована DbContext
, но вы можете попробовать реализовать эту возможность самостоятельно.
STE - это просто шаблон с идеей решить какую-либо проблему.Это оказалось хорошим теоретическим решением, но сообщество разработчиков было не очень хорошо воспринято, потому что решение не очень хорошо подходит для реальных сценариев. Это также причина, по которой разрабатываются другие более важные функции вместо улучшения или переноса шаблона.
Возможный дубликат [ 'ObjectContext' против '' DbContext в Entity Framework] (https://stackoverflow.com/questions/9176967/objectcontext-vs-dbcontext-in-entity-framework) – DavidRR