Определение Платформы Объекта 1:1 ассоциация

Большинство входных данных для сетей сумо состоит из линейных краевых сегментов и не имеет информации о радиусе, поэтому сеть сумо не сохраняет ее по умолчанию (и, следовательно, у транспортного средства ее также нет). При написании выходных данных openDrive имеются аппроксимации для полигонов третьего порядка, см. http://sumo.dlr.de/wiki/Networks/Future_Outputs#OpenDRIVE_Road_Networks , но вы, вероятно, в равной степени не догадались и сами угадывать радиус. [111 ]

12
задан Shadow The Princess Wizard 7 September 2014 в 12:06
поделиться

6 ответов

Не Shure, чтобы иметь ответ, но с Платформой Объекта, я всегда создаю первичный ключ в каждой таблице (даже если мне не нужен он). Пример:

  • У Клиента таблицы есть CustumerID как первичный ключ
  • Продукт таблицы имеет ProductID как первичный ключ
  • Порядок таблицы, конечно, использует CustomerID + ProductID как первичный ключ. Ну, я также создаю единственный локальный первичный ключ: OrderID.
-3
ответ дан 2 December 2019 в 23:51
поделиться

Необходимо выбрать таблицу, это cotains внешний ключ. Следующий шаг должен удалить тот внешний ключ из объекта, как он уже выражается с помощью отношения, которое Вы просто создали.

Пример:

table A
-------
A_ID int
B_ID int


table B
-------
B_ID int

В этом случае Вы выбрали бы таблицу A в разработчике, поскольку она содержит внешний ключ. Также необходимо будет удалить B_ID из объект впоследствии.

6
ответ дан 2 December 2019 в 23:51
поделиться

Я имел дело с устаревшим приложением, поэтому добавление дополнительного первичного ключа не было вариант для меня. Что мне нужно было сделать, так это сопоставить его как 1: (0 или 1), а не как 1: 1, чтобы заставить его работать. Например, если бы у меня было две таблицы, скажем, Customer и CustomerDetails, у обеих был первичный ключ с именем CustomerID. Чтобы создать ассоциацию, мне пришлось настроить ее, так как 1 Customer может относиться к (0 или 1) записям CustomerDetails. Каждый раз, когда вы вставляете клиента, не забудьте также вставить CustomerDetails, чтобы вы могли поддерживать соотношение 1: 1.

0
ответ дан 2 December 2019 в 23:51
поделиться

I agree that the way this is set up seems counter-intuitive. For anyone that is too slow (like me) to get driAn's answer: Из сообщения на форуме ниже я вспомнил, что мы имеем дело с сущностью, а не напрямую с таблицей. Связь связана с объектом (который может моделировать таблицу, но не обязан).

http://social.msdn.microsoft.com/forums/en-US/adodotnetentityframework/ thread / 2823634f-9dd1-4547-93b5-17bb8a882ac2 /

Структура объекта связывает СВОЙСТВА с СТОЛБЦАМИ ТАБЛИЦ . Вот почему мы должны удалить «внешний ключ» PROPERTY в ENTITY (примечание: мы не удаляем столбец таблицы). Чтобы сослаться на столбец в коде (используя ENTITY , моделируя данный пример ТАБЛИЦ А и ТАБЛИЦЫ B), вы должны написать что-то вроде этого:

variable_A = tableAs.A_ID
variable_B = tableAs.tableBs.B_ID

Второе присвоение использует ассоциацию, определенную в сущность, чтобы добраться до данных. В таблице A нет PROPERTY с именем "B_ID".

Это все, если я правильно понимаю :). По крайней мере, сейчас для меня это правильно.

: - Дэн

0
ответ дан 2 December 2019 в 23:51
поделиться

Сначала создайте внешний ключ в базе данных, а затем создайте модель ассоциации или обновления из базы данных.

0
ответ дан 2 December 2019 в 23:51
поделиться

В Entity Framework не должно быть внешние ключи в концептуальном дизайне. Я считаю, что теперь это разрешено в EF4 (с некоторыми настройками), но в EF3.5 это невозможно.

Чтобы исправить это, просто удалите все свойства, представляющие внешние ключи в EF-конструкторе. Не удаляйте первичные ключи!

Если после этого вы получите сообщение «Конец ассоциации не сопоставлен ..» , см. (Мой ответ на) этот пост .

0
ответ дан 2 December 2019 в 23:51
поделиться