none
Linq SQL getdate() RRS feed

  • Pregunta

  • Saludos, en mi base de datos tengo una tabla con un campo con la siguiente forma: fechaRegistro datetime default getdate() not null; el cual no se esta insertando al hacer el insert con linq, pero si me esta funcionando manualmente o mediante un store procedured.  Alguien me puede decir por que pasa esto?
    lunes, 30 de julio de 2012 13:12

Respuestas

Todas las respuestas

  • como que no se esta insertando ?

    usas linq to sql ?

    cuando haces el SaveChange() no se inserta la fecha actual en ese campo? sino lo ahce que fecha se inserta

    porque quizas a la propuedad debas asignarle la fecha

    entidad.fechaRegistro = DateTime.Now

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    lunes, 30 de julio de 2012 13:41
  • Ok, la forma de la tabla es algo como este ejemplo:

    create table respuesta
    (
        respuestaId    int identity (1,1) not null,
        respuesta      nvarchar(80)       not null,
        persona        nvarchar(80)           null,
        fecharegistro  datetime default getdate() not null
        constraint respuestaId primary key
        ( respuestaId ASC )
    )

    y el metodo es similar a este:

            public void Add()
            {
                var rp = new respuesta();
                rp.respuesta = this.txtRespuesta.Text.Trim();
                rp.persona= this.txtId.Text.Trim();
                dc.respuesticas.InsertOnSubmit(rp);
                dc.SubmitChanges();
            }

    A lo que me refiero es, que segun la forma de la tabla el campo fecha debe de agregarse solo, pero no lo hace sino que me da un error diciendo que el campo no puede ser null, obviamente es por que no se esta auto insertanto.


    lunes, 30 de julio de 2012 16:29
  • el tema es que la entidad seguramente cree una propiedad del tipo DateTime

    por lo que debas asignar el valor

    var rp = new respuesta();
    rp.respuesta = this.txtRespuesta.Text.Trim();
    rp.persona= this.txtId.Text.Trim();

    rp.fecharegistro  = DateTime.Now;

    dc.respuesticas.InsertOnSubmit(rp);
    dc.SubmitChanges();

    que pasa si pones esa linea?

    el tema es que para no definir el campo deberias permitir nulos en el mismo

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    lunes, 30 de julio de 2012 19:00
  • Hola,

    aquí contestan tu pregunta

    How to insert DB Default values under EF?

    y te dan dos posibles soluciones, siendo una de ellas, la que te propone Leandro.


    Atentamente, Sergio.

    Blog
    Twitter

    martes, 31 de julio de 2012 8:14