2010-07-27 3 views
0

Привет, ребята, посмотрите на следующий лица:Как можно определить параметр порядка через таблицу belongsTo в замок ActiveRecord

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, когда я пытаюсь поставить его в порядке параметр, throw throw исключение, которое не может найти свойство. Я делаю follwing код:

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

Используйте псевдоним:

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

Благодарю вас так много, работает очень и очень хорошо. – Alexandre