开发者

How can I define an Order parameter through a belongsTo table in Castle ActiveRecord

开发者 https://www.devze.com 2023-01-09 07:31 出处:网络
Hi guys take a look in the following entity: Produto = Products (in english) [ActiveRecord(\"produtos\", Lazy=true)]

Hi guys take a look in the following entity:

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; }

Look that GrupoProduto is a BelongsTo, when I try to put it in a order parameter, castle throw an exception that can't find the property. I make the follwing code:

DetachedCriteria dc = DetachedCriteria.For<Produto>();
dc.SetFetchMode("GrupoProduto", NHibe开发者_StackOverflow社区rnate.FetchMode.Join);

return SlicedFindAll(primeiroRegistro, quantidade, dc, new[] { Order.Asc("GrupoProduto.Nome")});

or

DetachedCriteria dc = DetachedCriteria.For<Produto>();
dc.SetFetchMode("GrupoProduto", NHibernate.FetchMode.Join);
dc.AddOrder(Order.Asc("GrupoProduto.Nome"));                

return SlicedFindAll(primeiroRegistro, quantidade, dc);

But in both cases I receive the error, can anyone help me?


Use an alias:

DetachedCriteria dc = ...
dc.CreateAlias("GrupoProduto", "gp");
...
...Order.Asc("gp.Nome")
0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号