【问题标题】:In fluent-nhibernate can you intercept a select query to perform additional filtering based on a subclass在 fluent-nhibernate 中,您可以拦截选择查询以执行基于子类的附加过滤
【发布时间】:2011-03-09 02:34:35
【问题描述】:

我已经在这个网站上搜索了各种问题,他们几乎可以回答我正在寻找的内容,但我无法将所有内容拼凑在一起以使其发挥作用。基本上我所拥有的是这些方面的东西:

class test: subclass
{
  int happyInt;
  //Other stuff goes here, doesn't really matter for this example.
}

class test2: subclass
{
  string happyString;
  //Other stuff goes here, doesn't really matter for this example.
}

class subclass
{
  int intIWantToFilterby;
}

我已经映射了所有内容,我可以毫无问题地将数据进出数据库,我什至有正在工作的拦截器,但基本上我想要的是每次为 test 或 test2 执行选择作为选择的一部分我希望它检查 intIWantToFilterby 是否等于某个值。我意识到我可以手动执行此操作,但我有大量类都继承自子类,我不想编写完全相同的逻辑超过 100 次。到目前为止,我还无法弄清楚如何做到这一点。也许我遗漏了一些明显的东西,但是从我在 fluent 网站和 nhibernate 网站以及这里的搜索中,我还没有找到解决方案。

【问题讨论】:

  • 你想达到什么目的?只有 test 和 test2 应该被过滤,或者所有其他子类也应该被过滤? “每次执行选择(...)我希望它检查 intIWantToFilterby 是否等于某个值”是什么意思?您如何处理此检查的结果?
  • 我不明白你的问题,所以我不能给你任何建议。

标签: nhibernate fluent-nhibernate fluent


【解决方案1】:

创建一个继承子类的新类并将所有通用逻辑放在那里。现在创建 test 和 test2 并继承您的其他通用逻辑类。

【讨论】:

    猜你喜欢
    • 2012-03-07
    • 2015-11-14
    • 1970-01-01
    • 2020-02-10
    • 2011-04-14
    • 2016-06-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多