0

我有两个表,一个包含汽车不同属性的汽车表,另一个carmodeldefinition是同名表的外键。该cardefinition表包含不同的汽车和型号。我已将它们映射到实体框架中。

图片

当我尝试在其中添加一辆新车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)插入底部。

4

1 回答 1

1

我找到了答案。尽管我很愚蠢,但我将关系设置为 1-1 而不是 1-many。

于 2009-03-28T20:13:59.200 回答