插入Fluent Hibernate

时间:2016-03-16 18:31:23

标签: nhibernate

我在Fluent中收到以下错误:

  

无法插入:[test.db.Hijos] [SQL:INSERT INTO [hijos](nombre_hijo,apellido_hijo,fechaNac_hijo,id_padre)VALUES(?,?,?,?)]

以下是我的映射类:

public class HijosMap : ClassMap<Hijos> {

    public HijosMap() {
        Table("[hijos]");
        Id(x => x.id_hijo).GeneratedBy.Identity().Column("id_hijo");
        Map(x => x.nombre_hijo).Column("nombre_hijo").Not.Nullable();
        Map(x => x.apellido_hijo).Column("apellido_hijo").Not.Nullable();
        Map(x => x.fechaNac_hijo).Column("fechaNac_hijo");
        References(x => x.usuarios).Column("id_padre").Cascade.All();
    }
}

public class UsuariosMap : ClassMap<Usuarios> {

    public UsuariosMap() {
        Table("usuarios");
        Id(x => x.id).GeneratedBy.Identity().Column("id");
        Map(x => x.nombre).Column("nombre");
        Map(x => x.apellido).Column("apellido");
        Map(x => x.email).Column("email");
        Map(x => x.fechaingreo).Column("fechaingreo").Not.Nullable();
        HasMany(x => x.hijos).KeyColumn("id").Table("[hijos]").Inverse().Cascade.All();
    }
}

这是我用来插入的方法......但是id不起作用

private void button1_Click(object sender, EventArgs e)
{
    HijosRepositorio hijorep = new HijosRepositorio();
    Hijos hijo = new Hijos();
    hijo.nombre_hijo = txtNombre.Text;
    hijo.apellido_hijo = txtApellido.Text;
    hijo.fechaNac_hijo = Convert.ToDateTime(mskFecha.Text);
    hijo.usuarios = (usuario);               
    try
    {
        hijorep.insertar(hijo);
        MessageBox.Show("Insertado correctamente");
        txtNombre.Text = "";
        txtApellido.Text = "";
        mskFecha.Text = "";    
    }
    catch (Exception ex)
    {    
        MessageBox.Show("No se inserto " + ex.Message + " " + ex.InnerException);
    }                
}    

0 个答案:

没有答案