我有两个表,一个包含汽车不同属性的汽车表,另一个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)插入底部。