Структура сущности и внешние ключи - PullRequest
0 голосов
/ 28 марта 2009

У меня есть две таблицы, таблица автомобилей, которая содержит различные свойства для автомобиля, и carmodeldefinition, который является внешним ключом для таблицы с тем же именем. Таблица cardefinition содержит различные автомобили и модели. Я сопоставил их в рамках сущности.

image

Когда я пытаюсь добавить новую машину в carmodeldefinition, она просто добавляет новую cardefinition вместо того, чтобы просто использовать найденную. Код для этого можно найти ниже:

   DataLayer.Car car = new DataLayer.Car();
   car.URL = carBulk.URL;
   car.SellerCity = carBulk.SellerCity.ToString();
   car.Color = carBulk.Color.ToString();
   car.SellerStreet = carBulk.SellerStreet;
   car.SellerName = carBulk.SellerName;
   car.SellerCountry = carBulk.SellerCountry.ToString();
   if (cdDTO != null && cdDTO.CarDefinitionId > 0)
   {
       car.CarModelDefinition = cdDTO.Transform(cdDTO);
   }

   mee.AddToCar(car);
   mee.SaveChanges();

cdDTO.Transform(cdDTO) преобразует datatransferobject в объект, который может быть сопоставлен с базой данных. Странная вещь в том, что cdDTO.Transform(cdDTO); возвращает правильный объект с правильным cardefintionId, но когда он вставлен, он просто вставляется внизу с новым cardefinitionid (это pk).

1 Ответ

1 голос
/ 28 марта 2009

Я нашел ответ. Так же, как и я, я установил соотношение 1-1 вместо 1-много.

...