大家好看看以下实体:
Produto = Products (in english)
[ActiveRecord("produtos", Lazy=true)]
public partial class Produto : ActiveRecordBase<Produto>, IObjetoEntidade<Produto>
{
[PrimaryKey(PrimaryKeyType.Native, "prod_id")]
public virtual int Id { get; set; }
[StringLengthValidator(0, 100)]
[Property("prod_descricao")]
public virtual string Descricao { get; set; }
BelongsTo("prod_grupop_id", Lazy=FetchWhen.OnInvoke)]
public virtual GrupoProduto GrupoProduto { get; set; }
看看GrupoProduto是一个BelongsTo,当我尝试将它放入一个order参数时,castle会抛出一个无法找到属性的异常。我制作了以下代码:
DetachedCriteria dc = DetachedCriteria.For<Produto>();
dc.SetFetchMode("GrupoProduto", NHibernate.FetchMode.Join);
return SlicedFindAll(primeiroRegistro, quantidade, dc, new[] { Order.Asc("GrupoProduto.Nome")});
或
DetachedCriteria dc = DetachedCriteria.For<Produto>();
dc.SetFetchMode("GrupoProduto", NHibernate.FetchMode.Join);
dc.AddOrder(Order.Asc("GrupoProduto.Nome"));
return SlicedFindAll(primeiroRegistro, quantidade, dc);
但在这两种情况下我都会收到错误,有人可以帮助我吗?
答案 0 :(得分:0)
使用别名:
DetachedCriteria dc = ...
dc.CreateAlias("GrupoProduto", "gp");
...
...Order.Asc("gp.Nome")