如何通过 Castle ActiveRecord 中的 BelongsTo 表定义 Order 参数

发布于 2024-09-11 20:38:21 字数 1179 浏览 2 评论 0原文

大家好,请看一下以下实体:

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,当我尝试将其放入订单参数时,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);

但是在这两种情况下我都收到错误,有人可以帮助我吗?

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", NHibernate.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?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

悲歌长辞 2024-09-18 20:38:21

使用别名:

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

Use an alias:

DetachedCriteria dc = ...
dc.CreateAlias("GrupoProduto", "gp");
...
...Order.Asc("gp.Nome")
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文