通过与另一个Db表匹配,使用n-hibernate过滤结果

时间:2012-05-07 15:29:43

标签: nhibernate linq-to-nhibernate nhibernate-criteria

我已经写过Hbn&用于从db获取用户的代码。

以下信息

用户ID,姓名,电子邮件,电话

现在我们有了新的要求,其中使用以下字段创建了新表

表1

  • userid - 上述用户表的外键
  • workinglocation
  • WorkingStatusId

表2

  • WorkingStatusId
  • workingstatus

过滤条件是工作位置和工作状态

我无法更改现有代码。

我必须编写新的hbn文件并编写代码

或者我应该使用之前创建的hbn获取数据并过滤它

请使用linq等建议代码(如果可能的话)

1 个答案:

答案 0 :(得分:2)

要么为用户添加Workplaces或其他任何内容的集合并映射它,那么它将很容易查询

from u in session.Query<User>()
from w in u.Workplaces
where ...
select u;

或在映射工作区

后使用相关子查询进行过滤