我有两个表,一个包含汽车不同属性的汽车表,以及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)
答案 0 :(得分:1)
我找到了答案。像我一样愚蠢,我将关系设置为1-1而不是1-many。