|
|
|
LINQ attach
|
|||
|---|---|---|---|
|
#18+
Есть несколько взаимосвязанных таблиц, давайте назовём их products, vendors, categories соответственно products ссылается на vendors и categories При добавлении какого-то продукта я делаю так: dc.Products.InsertOnSubmit(newProduct); Соответственно автоматом заполняются таблицы для vendors и categories. Допустим я хочу изменить какой-то продукт. Предположим, что он не ссылался ни на одну категорию. При Код: plaintext 1. Как сделать так, чтобы автоматически изменялись и другие таблицы, как это происходит при InsertOnSubmit() ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2009, 13:52 |
|
||
|
LINQ attach
|
|||
|---|---|---|---|
|
#18+
непонятен вопрос, связки Attach/Refresh и InsertOnSubmit делают совершенно разные вещи. Причем тут связанные таблицы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2009, 17:28 |
|
||
|
LINQ attach
|
|||
|---|---|---|---|
|
#18+
зы, каким образом через LINQ тогда можно проапдейтить данные? Сейчас это происходит путём удаления всех записей из таблиц, после чего вызывается .InsertOnSubmit() который автоматом заполняет все таблицы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.08.2009, 14:32 |
|
||
|
LINQ attach
|
|||
|---|---|---|---|
|
#18+
данные откуда берутся? Если аттачишь сущность с заданным айди то она автоматом будет сохранена в базу при сабмите общий алгоритм такой: Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.08.2009, 15:24 |
|
||
|
LINQ attach
|
|||
|---|---|---|---|
|
#18+
зы общий алгоритм такой: Код: plaintext 1. 2. 3. т.е. при table.Attach(entity, true) LINQ2SQL должен по идее и проапдейтить и связанные таблицы? у меня возникает ошибка "An entity can only be attached as modified without original state if it declares a version member or does not have an update check policy." при добавлении колонки Timestamp в таблицу у меня возникает исключение "Row not found or changed" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.08.2009, 16:08 |
|
||
|
LINQ attach
|
|||
|---|---|---|---|
|
#18+
откуда берется новая сущность, как создается? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.08.2009, 17:09 |
|
||
|
LINQ attach
|
|||
|---|---|---|---|
|
#18+
umluser, http://msdn.microsoft.com/ru-ru/library/bb896271.aspxЕсли присоединяемый объект связан с другими объектами, необходимо явно определить эти связи одним из следующих способов: * Присоединить оба объекта к контексту объекта и затем вызвать метод Attach для объекта EntityCollection или EntityReference с тем, чтобы определить эту связь. * Если же ни один из объектов не присоединяется, нужно вызвать метод Add для EntityCollection и указать связанный объект или задать свойство Value объекта EntityReference связанному объекту. Далее нужно присоединить корневой узел графа объектов к контексту объекта. Этот метод можно использовать для создания графа объектов из отсоединенных объектов с последующим присоединением этого графа к контексту объекта. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2009, 15:38 |
|
||
|
LINQ attach
|
|||
|---|---|---|---|
|
#18+
umluser, Most of these problems occur when you are not following the main purpose of Attach, which is to connect entities that are already attached to the ObjectContext and are not new. You cannot use Attach to attach another EntityCollection; however, it is possible to attach an IEnumerable (discussed shortly). Otherwise, you need to attach one entity at a time. You cannot use Attach when the EntityState of either end is Detached. ObjectContext is required to work out the relationship. Do an ObjectContext.Attach first. You cannot use Attach when the ends are in different contexts. You cannot use Attach to attach entities whose EntityState is Added. You'll want to use Add in this case. You cannot use Attach to attach entities whose EntityState is Deleted. It's not possible to create a RelationshipEntry for a deleted entity. You cannot use Attach to reassign entities to another graph. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2009, 01:17 |
|
||
|
|

start [/forum/topic.php?fid=17&fpage=68&tid=1351696]: |
0ms |
get settings: |
8ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
41ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
36ms |
get tp. blocked users: |
1ms |
| others: | 226ms |
| total: | 336ms |

| 0 / 0 |
