Столкнулся с забавной ситуацией. Если в рамках одного проекта используются две Entity модели, причем одна из них потомок ObjectContext, а вторая DbContext, то при попытке загрузить сущности в потомок DbContext падает ошибка "Не найден тип концептуальной модели для ..." где вместо точек стоит сущность из другого контекста. По английски, эта ошибка звучит так "Could not find the conceptual model type for". Под катом, как с этим бороться.
Показаны сообщения с ярлыком Entity Framework. Показать все сообщения
Показаны сообщения с ярлыком Entity Framework. Показать все сообщения
четверг, 5 июня 2014 г.
четверг, 21 февраля 2013 г.
Fakes Framework при тестировании методов использующих Entity Framework
Название получилось длинное, но как сказать короче, про что сегодня пойдет речь, я не придумал. Итак, под катом, будет:
1. Как создать Fakes Assembly для System.Core.dll (как не странно это звучит, но методы First, Where и другие, да и все пространство System.Linq находиться именно в этой сборке).
2. Как сделать Fake методы для присоединенных методов типа Single и Include.
3. Как вынести инициализацию FakeContext-а и переопределение методов которые не меняются от тестового метода к тестовому методу в отдельный метод, который будет вызываться автоматически.
1. Как создать Fakes Assembly для System.Core.dll (как не странно это звучит, но методы First, Where и другие, да и все пространство System.Linq находиться именно в этой сборке).
2. Как сделать Fake методы для присоединенных методов типа Single и Include.
3. Как вынести инициализацию FakeContext-а и переопределение методов которые не меняются от тестового метода к тестовому методу в отдельный метод, который будет вызываться автоматически.
пятница, 20 апреля 2012 г.
NoTracking в Entity Framework
Начну с небольшой зарисовки для понимания.
Entity Framework это программная прослойка, которая преобразует ваши запросы в SQL и передает их в реальную базу. Полученные ответы обрабатываются и записываются в виде объектной модели в памяти. Поясню на примере. Т.е. каждый раз, как вы получили что то из БД, оно осело в большом обхекте типа DataContext. Каждый раз, когда вы вызываете SaveChanges все эти загруженные в память объекты просматриваются на предмет не поменялись ли они и, соответственно, не пора ли их записать в базу данных. Т.е. загружая из базы записи в ComboBox стартового окна, вы будите хранить их в памяти до тех пор, пока приложение не закроется. Даже если они вам больше не нужны.
Entity Framework это программная прослойка, которая преобразует ваши запросы в SQL и передает их в реальную базу. Полученные ответы обрабатываются и записываются в виде объектной модели в памяти. Поясню на примере. Т.е. каждый раз, как вы получили что то из БД, оно осело в большом обхекте типа DataContext. Каждый раз, когда вы вызываете SaveChanges все эти загруженные в память объекты просматриваются на предмет не поменялись ли они и, соответственно, не пора ли их записать в базу данных. Т.е. загружая из базы записи в ComboBox стартового окна, вы будите хранить их в памяти до тех пор, пока приложение не закроется. Даже если они вам больше не нужны.
Подписаться на:
Сообщения (Atom)