2017-04-12 46 views
0

我正在使用Visual Studio 2017和實體框架6與SQL Server 2016年,我有一個問題,當我嘗試保存一個子對象。錯誤嘗試與實體框架以1:1的關係保存子對象(c#)

[Authorize] 
public ActionResult Agregar(Pacientes oPaciente) 
{ 
    if (oPaciente.Nombre != null) 
    { 
     using (var oModel = new pamidbEntities()) 
     { 
      var o_new_pac = new Pacientes(); 
      o_new_pac.Apellido = oPaciente.Apellido; 
      o_new_pac.Nombre = oPaciente.Nombre; 
      o_new_pac.DNI = oPaciente.DNI; 
      o_new_pac.NroAfiliado = oPaciente.NroAfiliado; 
      o_new_pac.Sexo = oPaciente.Sexo; 
      o_new_pac.Correo = oPaciente.Correo; 
      o_new_pac.FechaNacimiento = oPaciente.FechaNacimiento; 
      o_new_pac.Descripcion = oPaciente.Descripcion; 

      oModel.Pacientes.Add(o_new_pac); 
      oModel.SaveChanges(); 

      o_new_pac.Anannesis = oPaciente.Anannesis; 
      oModel.Anannesis.Add(o_new_pac.Anannesis); 
      oModel.SaveChanges(); 

      return RedirectToAction("Index", "Pacientes"); 
     } 
    } 

    return View(); 
} 

的第一個對象o_new_pac,它保存好,但我得到這個錯誤,當試圖保存o_new_pac.Anannesis

的InnerException:在ReferentialConstraint從屬屬性映射到一個存儲生成列。列: 'ID'「

的System.Exception> {} System.InvalidOperationException

這兩個對象我有一個1:1。關於

enter image description here

的方式,是相關的如下:

enter image description here

enter image description here

我不知道如果我錯誤地保存對象或我的數據庫設計是錯誤的。

+0

未來版本的SQL Server中將刪除'ntext','text'和'image'數據類型。避免在新的開發工作中使用這些數據類型,並計劃修改當前正在使用它們的應用程序。改爲使用'nvarchar(max)','varchar(max)'和'varbinary(max)'。 (詳見這裏)(http://msdn.microsoft.com/en-us/library/ms187993.aspx) –

+0

你見過這個嗎? http://stackoverflow.com/questions/24605152/a-dependent-property-in-a-referentialconstraint-is-mapped-to-a-store-generated-c看起來類似於您的問題。 – Stuart

+0

我不知道那些字段即將被刪除,並感謝提示。 該網址幫助我很多,是的,這與我的問題類似。謝謝 –

回答