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