实体框架和外键

时间:2009-03-28 11:23:37

标签: entity-framework foreign-keys entity

我有两个表,一个包含汽车不同属性的汽车表,以及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 个答案:

答案 0 :(得分:1)

我找到了答案。像我一样愚蠢,我将关系设置为1-1而不是1-many。