Only one form that is returning this error, the question I do not know what can be or how to do it, some ask to put the relationship in cascade what is already.
NHibernate.TransientObjectException: object references an unsaved transient instance - save the transient instance before flushing or set cascade action for the property to something that would make it autosave. Type: BlogWeb.Models.Veiculo, Entity: BlogWeb.Models.Veiculo
Error return line:
public void Adiciona(Abastecimento abastecimento)
{
ITransaction tx = session.BeginTransaction();
session.Save(abastecimento);
tx.Commit();
}
Vehicle Mapping:
public class VeiculoMapping : ClassMap<Veiculo>
{
public VeiculoMapping()
{
Id(p => p.Id).GeneratedBy.Identity();
Map(p => p.NCarro);
Map(p => p.Modelo);
Map(p => p.Ano);
}
}
Vehicle Model:
public class Veiculo
{
public virtual int Id { get; set; }
[Required]
public virtual int NCarro { get; set; }
[Required]
public virtual string Modelo { get; set; }
public virtual int Ano { get; set; }
}
Mapping Supply:
public class AbastecimentoMapping : ClassMap <Abastecimento>
{
public AbastecimentoMapping()
{
Id(a => a.Id).GeneratedBy.Identity();
Map(a => a.DtAbastecido);
Map(a => a.Litro);
Map(a => a.VlrUnit);
Map(a => a.Km);
Map(a => a.TotalGasto);
Map(a => a.Km_Andado);
References(a => a.NomeProduto, "NomeProdutoId");
References(a => a.Autor, "AutorId");
References(a => a.NumCarro, "NumCarroId");
}
}
Supply Model:
public class Abastecimento
{
public virtual int Id { get; set;}
[Required]
public virtual int Litro { get; set; }
public virtual DateTime? DtAbastecido { get; set; }
public virtual decimal VlrUnit { get; set; }
public virtual int Km { get; set; }
public virtual decimal TotalGasto { get; set; }
public virtual int Km_Andado { get; set; }
public virtual Usuario Autor { get; set; }
public virtual Compra NomeProduto { get; set; }
public virtual Veiculo NumCarro { get; set; }
}