我不确定为什么在调用dbcontext.SaveChangesAsync()时会引发Microsoft.EntityFrameworkCore.DbUpdateException
保存到数据库包括几个步骤。 1.使用Automapper从viewmodel-> Model进行映射。这似乎工作正常 2.将模型对象添加到dbcontext-看起来可以正常工作。 3.通过在dbContext上调用SaveChangesAsync将当前Dbcontext更改保存到数据库中-这将引发异常Microsoft.EntityFrameworkCore.DbUpdateException(内部异常指出“无效的对象名称'车辆”)
首先,这是进行业务的控制器代码。调用SaveChangesAsync时抛出异常。
[HttpPost("")]
public async Task<IActionResult> PostNewVehicleData([FromBody]VehicleViewModel vehicleData_)
{
try
{
if (ModelState.IsValid)
{
var newVehicle = _mapper.Map<Vehicle>(vehicleData_);
_vehicleRepository.AddVehicle(newVehicle);
if (await _vehicleRepository.SaveChangesAsync())
{
return Created($"api/Vehicles/{vehicleData_.Notes}", _mapper.Map<VehicleViewModel>(newVehicle));
}
}
return BadRequest("Failed to save the vehicle");
如前所述,内部异常指出“无效的对象名称车辆”。我要保存的类实例中有一个“ Vehicles”属性。此“车辆”属性存在,因此可以在基础数据库中建立一对多(一个经销商,许多车辆)的关系。是否有人对EF核心为何对此资产“抱怨”有任何想法?
public class Dealer
{
public Dealer()
{
}
public int Id {get; set;}
public string DealerName {get; set;}
public string StreetAddress{get; set;}
public City City{get;set;}
public string PostalCode{get;set;}
public string WebAddress{get;set;}
public string PhoneNumber{get;set;}
public List<Vehicle> Vehicles{get;set;}
public int CityForeignKey{get; set;}
}
的