|
один dbContext на запрос
|
|||
---|---|---|---|
#18+
Подскажите материалы на изучения в варианте использования 1 экземпляра контекста на запрос. Не понятно как работать с сущностными в которых имеются навигационные свойства. Получив SomeEntity допустим в некотором методе GetAll(), я произвожу изменения. Для фиксирования изменений будет использоваться ведь другой экземпляр контекста. Что делать со связанными сущностными? Присоединять их к этому чистому контексту? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.05.2015, 10:55 |
|
один dbContext на запрос
|
|||
---|---|---|---|
#18+
если связанная сущность не менялась и у основной сущности правильно заполнен внешний ключ (ссылка на идентификатор связанной сущности), то этого достаточно. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.05.2015, 11:04 |
|
один dbContext на запрос
|
|||
---|---|---|---|
#18+
_jt1 экземпляра контекста на запрос.а вообще - какой запрос имеется ввиду? http-запрос или запрос к БД? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.05.2015, 11:17 |
|
один dbContext на запрос
|
|||
---|---|---|---|
#18+
Shocker.Proесли связанная сущность не менялась и у основной сущности правильно заполнен внешний ключ (ссылка на идентификатор связанной сущности), то этого достаточно. Тогда нужно чтобы сущность и связанные с ней были отключены от 1-ого контекста. Прочитал что при Dispose DbContext они остаются подключенными. https://social.msdn.microsoft.com/Forums/en-US/501d7b99-0cb9-44b6-b2cd-16275a151b31/an-entity-object-cannot-be-referenced-by-multiple-instances-of-ientitychangetracker-what-is-it?forum=adodotnetentityframework%5D]https://social.msdn.microsoft.com/Forums/en-US/501d7b99-0cb9-44b6-b2cd-16275a151b31/an-entity-object-cannot-be-referenced-by-multiple-instances-of-ientitychangetracker-what-is-it?forum=adodotnetentityframework] авторbut if you kill an instance of an objectContext without detaching the entities first the entity still think it's attached to the context. Похоже что так. Использую using: Код: c# 1. 2. 3. 4. 5. 6. 7.
Приатачиваю связанную сущность, вызываю SaveChanges(), в итоге возникает исключение: авторAn entity object cannot be referenced by multiple instances of IEntityChangeTracker. Использовать MergeOption.NoTracking в получение Сета? Shocker.Pro_jt1 экземпляра контекста на запрос.а вообще - какой запрос имеется ввиду? http-запрос или запрос к БД? http-запрос. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.05.2015, 12:13 |
|
один dbContext на запрос
|
|||
---|---|---|---|
#18+
_jtодин dbContext на запрос_jthttp-запрос._jtдругой экземпляр контекставам в собственных словах не видно противоречия? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.05.2015, 12:23 |
|
один dbContext на запрос
|
|||
---|---|---|---|
#18+
авторвам в собственных словах не видно противоречия? Нет, я только начал осваивать веб разработку. Объясните, поподробней. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.05.2015, 12:39 |
|
один dbContext на запрос
|
|||
---|---|---|---|
#18+
В схеме "один dbContext на запрос" в пределах одного http-запроса существует только один dbContext, а, стало быть все изложенные вами проблемы просто не должны возникнуть, то есть создавать какие-то дополнительные контексты и цеплять туда сущности просто-напросто не требуется. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.05.2015, 12:44 |
|
один dbContext на запрос
|
|||
---|---|---|---|
#18+
Зачем изобретать велосипед с отслеживанием изменений? Лучше взять готовый OData, он на клиенте может сам травить измерения, а при сохранении контекста всё это скором уйдёт на сервер приложений через http. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.05.2015, 15:20 |
|
один dbContext на запрос
|
|||
---|---|---|---|
#18+
трачить, скопом... С мобильника пишу. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.05.2015, 15:21 |
|
один dbContext на запрос
|
|||
---|---|---|---|
#18+
Посмотрел OData, интересная штука. Вышла Microsoft.OData.EntityFrameworkProvider для EF6 в альфе. Еще допиливается. У меня скорее другая задача - передавать граф объектов сущностей между слоями приложения. Не таскать с собой контекст между отдельными частями логики. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.05.2015, 11:27 |
|
один dbContext на запрос
|
|||
---|---|---|---|
#18+
МСУЗачем изобретать велосипед с отслеживанием изменений? Лучше взять готовый OData, он на клиенте может сам травить измерения, а при сохранении контекста всё это скором уйдёт на сервер приложений через http. WCF Data Service предоставляет только CRUD операции. Я хочу чтобы логика была в отдельном звене и клиент взаимодействовал исключительно с ней. Доступ к данным и логика на одном уровне, тут OData не нужен. Нужно взаимодействие клиента и бизнес-логики POCO объектами. Интересные материалы, может быть кому-нибудь пригодится: https://msdn.microsoft.com/ru-ru/data/jj613668 Книга: Lerman J. Miller R. - Programming Entity Framework DbContext - 2012 Глава 4. Working with Disconnected Entities Including N-Tier Applications ... |
|||
:
Нравится:
Не нравится:
|
|||
08.05.2015, 23:29 |
|
|
start [/forum/topic.php?fid=17&fpage=14&tid=1349564]: |
0ms |
get settings: |
9ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
43ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
44ms |
get tp. blocked users: |
2ms |
others: | 239ms |
total: | 376ms |
0 / 0 |