Ayuda Create ASP.NET + Entity Framework + MVC
Publicado por Victor Damian (4 intervenciones) el 20/09/2018 00:12:59
Buenas tardes
Estoy teniendo un problema que no le puedo encontrar la solución , espero ustedes me puedan ayudar. Es cuando quiero agregar un dato a la base de datos mediante Entity Framework.
Basicamente el codigo de mi modelo es el siguiente:
El codigo de mi controlador es el siguiente:
El error me lo esta tirando en db.savechanges()
y lo que me dice es lo siguiente:
SqlException: No se puede insertar el valor NULL en la columna 'legajo', tabla 'PergaminoPrueba.dbo.PAR_EMPLEADO'. La columna no admite valores NULL. Error de INSERT.
Se terminó la instrucción.
Ya se que me van a decir : "Le estas pasando un valor nulo a un atributo que no permite nulos en la base de datos, pero no es asi."
Le estoy pasando valor y me lo esta tomando el valor por lo que veo en el debug
Y Legajo es clave primaria de mi entidad, por lo que no puedo establecerla en nulo en la base de datos.
Pueden guiarme a resolver este problema raro, para mi esta por el lado de mi entidad. El codigo y anotaciones de mi entidad son los siguientes:
HELP ME!!! GRACIAS!!!
Estoy teniendo un problema que no le puedo encontrar la solución , espero ustedes me puedan ayudar. Es cuando quiero agregar un dato a la base de datos mediante Entity Framework.
Basicamente el codigo de mi modelo es el siguiente:
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
[Table("PAR_EMPLEADO")]
public class Empleado
{
[Key]
[Display(Name = "Legajo")]
public int Legajo { get; set; }
[Required]
[EmailAddress]
[Display(Name = "Email")]
public string Email { get; set; }
[Display(Name = "Nombre")]
[StringLength(50)]
public string Nombre { get; set; }
[Display(Name = "Cod. Vendedor")]
[StringLength(4)]
public string CodVen { get; set; }
[ForeignKey("Sucursal")]
[Display(Name = "Sucursal")]
[StringLength(3)]
public string CodSuc { get; set; }
[ForeignKey("FuncionPri")]
[Display(Name = "Función")]
public int FuncionP { get; set; }
[ForeignKey("FuncionSec")]
[Display(Name = "Función Secundaria")]
public int? FuncionS { get; set; }
[Display(Name = "Estado")]
public bool Inactivo { get; set; }
public virtual Sucursal Sucursal { get; set; }
public virtual FuncionEmple FuncionPri { get; set; }
public virtual FuncionEmple FuncionSec { get; set; }
}
El codigo de mi controlador es el siguiente:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Create(Empleado empleado)
{
if (ModelState.IsValid)
{
db.Empleados.Add(empleado);
db.SaveChanges();
return RedirectToAction("Index");
}
ViewBag.CodSuc = new SelectList(db.Sucursales, "CodSuc", "dessuc", empleado.CodSuc);
ViewBag.FuncionP = new SelectList(db.Funciones, "id", "descripcion", empleado.FuncionP);
ViewBag.FuncionS = new SelectList(db.Funciones, "id", "descripcion", empleado.FuncionS);
return View(empleado);
}
El error me lo esta tirando en db.savechanges()
y lo que me dice es lo siguiente:
SqlException: No se puede insertar el valor NULL en la columna 'legajo', tabla 'PergaminoPrueba.dbo.PAR_EMPLEADO'. La columna no admite valores NULL. Error de INSERT.
Se terminó la instrucción.
Ya se que me van a decir : "Le estas pasando un valor nulo a un atributo que no permite nulos en la base de datos, pero no es asi."
Le estoy pasando valor y me lo esta tomando el valor por lo que veo en el debug
Y Legajo es clave primaria de mi entidad, por lo que no puedo establecerla en nulo en la base de datos.
Pueden guiarme a resolver este problema raro, para mi esta por el lado de mi entidad. El codigo y anotaciones de mi entidad son los siguientes:
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
[Table("PAR_EMPLEADO")]
public class Empleado
{
[Key]
[Display(Name = "Legajo")]
public int Legajo { get; set; }
[Required]
[EmailAddress]
[Display(Name = "Email")]
public string Email { get; set; }
[Display(Name = "Nombre")]
[StringLength(50)]
public string Nombre { get; set; }
[Display(Name = "Cod. Vendedor")]
[StringLength(4)]
public string CodVen { get; set; }
[ForeignKey("Sucursal")]
[Display(Name = "Sucursal")]
[StringLength(3)]
public string CodSuc { get; set; }
[ForeignKey("FuncionPri")]
[Display(Name = "Función")]
public int FuncionP { get; set; }
[ForeignKey("FuncionSec")]
[Display(Name = "Función Secundaria")]
public int? FuncionS { get; set; }
[Display(Name = "Estado")]
public bool Inactivo { get; set; }
public virtual Sucursal Sucursal { get; set; }
public virtual FuncionEmple FuncionPri { get; set; }
public virtual FuncionEmple FuncionSec { get; set; }
}
}
HELP ME!!! GRACIAS!!!
Valora esta pregunta
0