[EF] Древовидность
От: Ziggi111 Россия  
Дата: 14.12.08 00:01
Оценка:
Привет всем!
Подсажите плз. EF не поддерживает древовидность?
у меня в базе есть связи типа id->parentid. Модель создалась, но не компилируется.
грит
Error 3007: Problem in Mapping Fragments starting at lines 3020, 4211: Non-Primary-Key column(s) [parentid] are being mapped in both fragments to different conceptual side properties — data inconsistency is possible because the corresponding conceptual side properties can be independently modified.
Re: [EF] Древовидность
От: hamanu  
Дата: 15.12.08 07:30
Оценка:
Z>Подсажите плз. EF не поддерживает древовидность?

Поддерживает.

Z>у меня в базе есть связи типа id->parentid. Модель создалась, но не компилируется.

Z>грит
Z>Error 3007: Problem in Mapping Fragments starting at lines 3020, 4211: Non-Primary-Key column(s) [parentid] are being mapped in both fragments to different conceptual side properties — data inconsistency is possible because the corresponding conceptual side properties can be independently modified.

Вам и говорят — колонка parentid отмаплена дважды, скорее всего один раз — на аналогичное скалярное свойство, второй раз — на навигационное. Что часто бывает, когда, например, в базе нет FK, и ассоциацию добавляют руками.
Re[2]: [EF] Древовидность
От: Ziggi111 Россия  
Дата: 15.12.08 07:36
Оценка:
Здравствуйте, hamanu, Вы писали:

Z>>Подсажите плз. EF не поддерживает древовидность?


H>Поддерживает.


Z>>у меня в базе есть связи типа id->parentid. Модель создалась, но не компилируется.

Z>>грит
Z>>Error 3007: Problem in Mapping Fragments starting at lines 3020, 4211: Non-Primary-Key column(s) [parentid] are being mapped in both fragments to different conceptual side properties — data inconsistency is possible because the corresponding conceptual side properties can be independently modified.

H>Вам и говорят — колонка parentid отмаплена дважды, скорее всего один раз — на аналогичное скалярное свойство, второй раз — на навигационное. Что часто бывает, когда, например, в базе нет FK, и ассоциацию добавляют руками.

В том-то и дело что в базе FK есть и модель создана по этой базе. я тоже сначала подумал что я что-то не так сделал добавляя ассоциацию. Добавил в базу FK и создал модель заново. Ничего не поменялось.
Re[3]: [EF] Древовидность
От: hamanu  
Дата: 15.12.08 07:50
Оценка:
Что-то здесь не так. Если

Z>в базе FK есть и модель создана по этой базе


то зачем добавлять ассоциацию вручную ?

Z>я тоже сначала подумал что я что-то не так сделал добавляя ассоциацию.


плюс это:

Z>Добавил в базу FK и создал модель заново. Ничего не поменялось.


В общем не хватает полной истории событий, а также CSDL/SSDL/MSDL

Вкратце — скорее всего нужно найти и удалить маппинг колонки parentid на скалярное свойство parentid. Плюс само свойство parentid.
Re[4]: [EF] Древовидность
От: Ziggi111 Россия  
Дата: 15.12.08 08:29
Оценка:
Здравствуйте, hamanu, Вы писали:

H>Что-то здесь не так. Если


Z>>в базе FK есть и модель создана по этой базе


H>то зачем добавлять ассоциацию вручную ?


Z>>я тоже сначала подумал что я что-то не так сделал добавляя ассоциацию.


H>плюс это:


Z>>Добавил в базу FK и создал модель заново. Ничего не поменялось.


H>В общем не хватает полной истории событий, а также CSDL/SSDL/MSDL


H>Вкратце — скорее всего нужно найти и удалить маппинг колонки parentid на скалярное свойство parentid. Плюс само свойство parentid.

Изначально в базе не было такой связи, поэтому и была попытка добавить ассоциацию вручную. Когда попытка ручного добавления провалилась связь была добавлена в базу и модель создана заново.
Re[5]: [EF] Древовидность
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 15.12.08 08:39
Оценка: 2 (1)
Здравствуйте, Ziggi111, Вы писали:

Z>Здравствуйте, hamanu, Вы писали:


H>>Что-то здесь не так. Если


Z>>>в базе FK есть и модель создана по этой базе


H>>то зачем добавлять ассоциацию вручную ?


Z>>>я тоже сначала подумал что я что-то не так сделал добавляя ассоциацию.


H>>плюс это:


Z>>>Добавил в базу FK и создал модель заново. Ничего не поменялось.


H>>В общем не хватает полной истории событий, а также CSDL/SSDL/MSDL


H>>Вкратце — скорее всего нужно найти и удалить маппинг колонки parentid на скалярное свойство parentid. Плюс само свойство parentid.

Z>Изначально в базе не было такой связи, поэтому и была попытка добавить ассоциацию вручную. Когда попытка ручного добавления провалилась связь была добавлена в базу и модель создана заново.


Удалите из сущности поле внешенго ключа и все заработает.

Модель ругается что поле внешнего ключа замаплено дважды — на сущность и на связь.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.