1
我在這裏遇到問題。參考問題?
如何查看下面的代碼,我有2個對象:「Pedidos」和「Categoria」。一個「Pedido」包含一個「Categorie」。
我做了測試方法,Pedidos和Categoria都存儲在數據庫中。大!
但是...... 「Pedido.Categoria」字段爲空。我哪裏錯了?
實體:
public class Categoria : IKeyed<int>{
public virtual int Id { get; set; }
public virtual string Nome { get; set; }};
public class Pedido : IKeyed<int>{
public virtual int Id { get; set; }
public virtual string Assunto { get; set; }
public virtual Categoria Categoria { get; set; }
public virtual IList<Interacao> Interacao { get; set; }
public virtual void addCategoria(Categoria categoria)
{Categoria = categoria;}
};
映射:
public class PedidoMap : ClassMap<Pedido>
{
PedidoMap()
{
Table("z1_pedido");
Id(x => x.Id);
Map(x => x.Assunto);
References(x => x.Categoria).Column("id");
HasMany(x => x.Interacao).LazyLoad().Inverse().Cascade.All();
}
}
public class CategoriaMap : ClassMap<Categoria>
{
CategoriaMap()
{
Table("z1_categoria");
Id(x => x.Id);
Map(x => x.Nome).Column("nome");
}
}
測試方法:
public void AddTest()
{
Repository<Pedido> repository = new Repository<Pedido>(unitOfWork.Session);
Repository<Categoria> catRepo = new Repository<Categoria>(unitOfWork.Session);
Categoria cat = new Categoria
{
Nome = "2",
};
Pedido pedido = CreatePedido(string.Format("Pedido {0}", 1), 2,cat);
repository.Add(pedido);
catRepo.Add(cat);
unitOfWork.Commit();
}
private static Pedido CreatePedido(string assunto, int numberofInteractions, Categoria cat)
{
Pedido pedido = new Pedido
{
Assunto = assunto,
Categoria = cat,
};
pedido.addCategoria(cat);
return pedido;
}
THKS,夥計們。
牛逼小時ňķ小號!!!!!!我幾乎禿頂。它真的起作用了! – Thiago 2011-02-24 13:49:05