ERROR al almacenar: System.InvalidOperationException: A dependent property in a ReferentialConstrain
Publicado por Franklyn (3 intervenciones) el 18/10/2018 18:00:51
saludos, soy nuevo en asp.net y c#
Estoy creando una aplicación MVC. En la misma busco guardar data en una tabla "Casos". La misma esta Relacionada con una tabla "Solicitudes" aunque por ahora no deseo que almacene en cascada. A continuación parte del Script:
[TABLA CASOS]
[TABLA SOLICITUDES]
El almacenamiento de la data tiene la siguiente Lógica:
[CONTROLADOR]
[MODELO]
Al correrlo me genera el siguiente error:
He cambiado los campos claves de la Base de datos, cambiado el tipo de datos de las columnas, relaciones y propiedades en las relaciones, he eliminado el IDENTITY(1,1) de ambas tablas y nada,... el mismo error. y no veo errores en el código...
Por favor, alguien que tenga una idea de como solventarlo. Llevo semanas en esto y nada Por favor ayuda...
Estoy creando una aplicación MVC. En la misma busco guardar data en una tabla "Casos". La misma esta Relacionada con una tabla "Solicitudes" aunque por ahora no deseo que almacene en cascada. A continuación parte del Script:
[TABLA CASOS]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
CREATE TABLE [dbo].[AHD_Casos](
[Codigo_Caso] [int] IDENTITY(1,1) NOT NULL,
[Serial_Caso] [char](10) NULL,
[Diagnostico_Caso] [nvarchar](100) NULL,
[Prioridad_Caso] [char](10) NULL,
[Status_Caso] [bit] NULL,
[Solucion_Caso] [nvarchar](1000) NULL,
[Fecha_Creacion_INS] [datetime] NULL,
[Fecha_Atencion] [datetime] NULL,
[Fecha_UPD] [datetime] NULL,
[Fecha_Solucion] [datetime] NULL,
[Codigo_Empleado] [int] NULL,
[Codigo_Solicitud] [int] NULL,
PRIMARY KEY CLUSTERED
(
[Codigo_Caso] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
[TABLA SOLICITUDES]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
CREATE TABLE [dbo].[AHD_Solicitudes](
[Codigo_Solicitud] [int] IDENTITY(1,1) NOT NULL,
[Serial_Solicitud] [char](10) NULL,
[Descripcion_Solicitud] [nvarchar](1000) NULL,
[Fecha_INS] [datetime] NULL,
[Fecha_UPD] [datetime] NULL,
[Usuario_INS] [nvarchar](50) NULL,
[Usuario_UPD] [nvarchar](50) NULL,
[Codigo_Usuario] [int] NULL,
[Codigo_Departamento] [int] NULL,
CONSTRAINT [PK_AHD_Solicitudes] PRIMARY KEY CLUSTERED
(
[Codigo_Solicitud] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
El almacenamiento de la data tiene la siguiente Lógica:
[CONTROLADOR]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
[HttpPost]
public ActionResult createCasosView(AHD_Casos model)
{
var vSerial_CasoMax = ((db.AHD_Casos.Select(x => x.Serial_Caso).Max().Trim()));
model.Serial_Caso = "C" + vSerial_CasoMax;
ViewBag.vSerial_Solicitud = model.Serial_Caso;
model.Fecha_Creacion_INS = DateTime.Now;
model.Codigo_Empleado = db.AHD_Empleados.Select(x => x.Codigo_Empleado).Max();
List<AHD_Empleados> listaemplea = db.AHD_Empleados.ToList();
ViewBag.ListOfEmpleados = new SelectList(listaemplea, "Codigo_Empleado", "Nombre_Empleado");
var vParseCodigo_Solicitud = 0;
vParseCodigo_Solicitud = createCasosViewRef(ref vCodigo_SolicitudPublic);
model.Codigo_Solicitud = vParseCodigo_Solicitud+1;
ViewBag.vCodigo_Solicitud = model.Codigo_Solicitud;
model.Codigo_Caso = ViewBag.vCodigo_Solicitud++;
if (ModelState.IsValid)
{
try {vCasos.createCasosModel(model);}
catch (DbEntityValidationException e) { Console.WriteLine(e); }
ModelState.Clear();
return View();
}
else
{
//return Redirect("~/Views/Home/createSoliciView.cshtml");
return View("~/Views/Home/createCasosView.cshtml", model);
}
}
[MODELO]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
public partial class AHD_Casos{
/**/
public AHD_Casos createCasosModel(AHD_Casos model)
{
var vCasos = new AHD_Casos();
try
{
using (var vContext = new Models.AuroraHDEntities())
{
foreach (var s in vContext.AHD_Solicitudes){
vContext.Entry(s).State = EntityState.Unchanged;}
vContext.Entry(model).State = EntityState.Added;
vContext.SaveChanges(); //LINEA QUE GENERA ERROR
}
catch (DbEntityValidationException e) {
foreach (var entityValidationErrors in e.EntityValidationErrors)
{
foreach (var validationError in entityValidationErrors.ValidationErrors)
{
Console.Write("Property: " + validationError.PropertyName + " Error: " + validationError.ErrorMessage);
Console.WriteLine(e);
throw new Exception(e.Message);
}
}
}
return vCasos;
}
[Key]
public int Codigo_Caso { get; set; }
[DataType(DataType.Text)]
public String Serial_Caso { get; set; }
[Required(ErrorMessage = "El campo [Diagnostico del Caso] es obligatorio.")]
[Display(Name = "Diagnostico del Caso")]
[DataType(DataType.Text)]
public string Diagnostico_Caso { get; set; }
[Required(ErrorMessage = "La [Prioriad del Caso] es obligatoria.")]
[Display(Name = "Prioriad del Caso")]
[DataType(DataType.Text)]
public string Prioridad_Caso { get; set; }
public bool Status_Caso { get; set; }
public string Solucion_Caso { get; set; }
[Required(ErrorMessage = "La [Fecha de Creación del Caso] es obligatoria.")]
[Display(Name = "Fecha de Creación del Caso")]
[DataType(DataType.DateTime)]
public System.DateTime Fecha_Creacion_INS { get; set; }
public System.DateTime Fecha_Atencion { get; set; }
public System.DateTime Fecha_UPD { get; set; }
public System.DateTime Fecha_Solucion { get; set; }
[ForeignKey("Codigo_Empleado")]
[Required(ErrorMessage = "El [Empleado] es obligatorio.")]
[Display(Name = "Empleado Asignado")]
public Nullable<int> Codigo_Empleado { get; set; }
[ForeignKey("Codigo_Solicitud")]
public Nullable<int> Codigo_Solicitud { get; set; }
public virtual AHD_Empleados AHD_Empleados { get; set; }
public virtual AHD_Solicitudes AHD_Solicitudes { get; set; }
public virtual ICollection<AHD_Configuraciones> AHD_Configuraciones { get; set; }
}
Al correrlo me genera el siguiente error:
1
System.InvalidOperationException: A dependent property in a ReferentialConstraint is mapped to a store-generated column. Column: 'Codigo_Caso'.
He cambiado los campos claves de la Base de datos, cambiado el tipo de datos de las columnas, relaciones y propiedades en las relaciones, he eliminado el IDENTITY(1,1) de ambas tablas y nada,... el mismo error. y no veo errores en el código...
Por favor, alguien que tenga una idea de como solventarlo. Llevo semanas en esto y nada Por favor ayuda...
Valora esta pregunta
0