如何使用 NHibernate 的 criteria api 和实体查询子属性以仅加载与谓词条件匹配的子属性

2024-04-13

假设如下:

public class Order
{
   public virtual int OrderId {get;set}
   public virtual ISet<Product> Products {get;set}
}

public class Product
{
   public virtual int ProductId {get;set}
   public virtual string ProductName {get;set}
}

您将如何使用条件 api 进行查询,以便仅返回具有特定 orderid 的订单,并且其产品集合也应过滤到名称以字母 P 开头的产品?


最简单的方法是使用别名:

var productIdToSelect = 9;
var crit = Session.CreateCriteria(typeof(Order));
crit.CreateAlias("Product", "prod");
crit.Add(Expression.Eq("prod.Id", productIdToSelect));
var result = crit.List<Order>();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 NHibernate 的 criteria api 和实体查询子属性以仅加载与谓词条件匹配的子属性 的相关文章

  • 带有过滤条件的 LINQ 连接

    linq 中是如何完成这样的事情的 它在 JOIN 上有过滤条件 这是摘自这个问题 SQL过滤条件在连接条件或where子句中哪个更有效 https stackoverflow com questions 1401889 sql filte
  • 没有持久化:Fluent nHibernate 异常

    我收到异常 没有持久化 MVCTemplate Common Entities User 我谷歌这个问题并应用我找到的所有解决方案 但一切对我来说都没用 有谁知道我做错了什么 我的用户类代码是 public class User publi
  • 如何设置 NHibernate 事务的超时

    我需要在单个事务中完成大量数据库处理 包括使用 NHibernate 的一些处理 为了使所有内容在同一个事务中工作 我使用 NHibernate 的 Session 来启动它 并在其中登记其他工作的命令 一切都很顺利 直到我承诺为止 那时我
  • 为什么 nhibernate 需要 Log4Net?

    我将使用 asp net mvc3 和 nhibernate 3 2 构建我的应用程序 我决定使用 Elmah 记录所有错误消息 我记得 nhibernate 支持 log4net 并用它来记录所有查询 如果我不关心将查询输出到日志文件 我
  • nhibernate 不保存外键 ID

    我有一个简单的模型 我正在尝试使用 Fluent nhibernate 来坚持 public class Person public int Id get set public string Name get set public ILis
  • Nhibernate:获取真实的实体类而不是代理类[重复]

    这个问题在这里已经有答案了 有没有办法让 nhibernate 返回我的类而不是它的代理类 如果不是偷懒或者不能更新我不介意 您可以使用此代码取消代理类 session PersistenceContext Unproxy proxiedI
  • select N + 1 比 eager join 更好吗?

    我正在使用 nhibernate profiler 并看到它在一些地方给我一个 Select n 1 警告 明显的解决方法是进行一些预先的热切连接 但这让我思考 在某些情况下 与可能会加载大量您从未实际使用的数据的连接相比 使用 Selec
  • 我们如何使用 hibernate criteria API 将列排序为 int?

    您好 我想使用 hibernate Criteria API 从数据库中获取数据 该数据应按某些列作为数字排序 该列在 DB 中定义为 varchar 但我必须以数字形式获取 我在使用标准 API 时遇到问题 因为它仅像字符串一样排序 前任
  • 流畅的 NHibernate 将 IList 作为值映射到单列

    我有这门课 public class MyEntity public virtual int Id get set public virtual IList
  • Linq to NHibernate 生成到同一个表的多个联接

    当我在 select 和 where 子句中引用同一个表时 linq to Nhibernate 会生成两个连接 一个用于 select 一个用于 where IE from child in Session Query
  • 如何将 NHibernate 与 System.Tuple 等不可变类型一起使用?

    我有一个复合映射使用System Tuple
  • 使用 nHibernate 序列化 DetachedCriteria

    我正在尝试序列化 DetachedCriteria 以便可以将其保存在数据库中并在以后重用相同的条件 当我运行下面的代码时 我得到 NHibernate Criterion DetachedCriteria 无法序列化 因为它没有无参数构造
  • 超时设置为无限时间时出现超时异常

    在我的 C NET 3 5 应用程序中 我使用 CastleProject ActiveRecord 而不是 NHibernate 这是使用 MS SQL Server 2008 的桌面应用程序 我已将 ADO 命令超时设置为 0 以防止批
  • 使用 NHibernate 深复制实体

    我目前正在工作中启动一个新的 ASP NET MVC 项目 我们需要生成项目成本估算 我们使用 NHibernate ASP NET MVC 1 0 和 StructureMap 客户希望能够填写有关项目的所有信息 这些信息位于不同的页面中
  • Nhibernate ICriteria 和在查询中使用 Lambda 表达式

    你好 我是 NHibernate 的新手 我有点困惑 假设我们有一个product桌子 让product表有 2 列价格1 和价格2 然后我可以通过 HQL 查询映射的产品实体 如下所示 string queryString from pr
  • 如何在使用 NHibernate 进行任何插入之前增加 ID

    看起来NH只获取一次MAX ID 第一次插入然后在内部存储这个值 这会在其他进程插入数据时给我带来一些问题 然后我没有实际的 ID 并且抛出重复键异常 假设我们有桌子Cats CREATE TABLE Cats ID int Name va
  • 如何将 NHibernate 和 DTO 与 RIA 服务结合使用

    我将 NHibernate 与 RIA 服务和 Silverlight 4 一起使用 我创建 DTO 来通过 RIA 服务传输数据 而不是分发我的域层对象 根据 Martin Fowler 的分布式对象设计第一定律 不要分发您的对象 DTO
  • 您会将什么放入存储库类(数据访问层)的单元测试中?

    我想为我的数据访问层编写一个单元测试 以确保其中的一切正常工作 问题是 我应该把什么样的东西放入测试中 DAL 是静态的Repository隐藏底层 Fluent NHibernate 并通过一个公开的东西向公众公开的类IQueryable
  • Get 和 Load 之间的区别

    有什么区别Get
  • 如何保持长时间运行的NHibernate Session数据一致?

    我在 ASP NET 会话中缓存了 NHibernate 会话 我遇到过一种情况 用户编辑了一个对象 因此它位于 ISession 的第一级缓存中 然后另一个用户编辑了同一个对象 此时 用户 1 仍然可以看到其编辑的原始版本 而用户 2 可

随机推荐

  • 在 Bash 中的函数内部使用声明

    我想使用函数更改全局变量 或至少附加到它 input Hello example input func declare x example input World func echo input 其输出将是 Hello 的原始值 如果该函数
  • 重新排序时无法将 UITableViewCell 从当前位置拖动

    我试图让我的核心数据支持的 UITableView 具有重新排序的能力 在实现所有这些委托和提到的核心数据的一些技术之后here https stackoverflow com q 1077568 147564我发现奇怪的行为 点击编辑按钮
  • 垃圾收集和 JNI 调用

    我遇到 JNI 程序随机内存不足的问题 这是一个 32 位 java 程序 它读取文件 进行一些图像处理 通常使用 250MB 到 1GB 然后 所有这些对象都会被丢弃 然后程序对 JNI 程序进行一系列调用 通常需要 100 250MB
  • 转换为Weka日期格式

    我有一个带有一些属性的 csv 文件 一种是日期属性 日期采用这种形式 yyyy mm dd hh mm ss 但 Weka 将其视为名义类型而不是日期类型 如何解决这个问题 请在这件事上给予我帮助 我用Weka资源管理器 一个很好的参考
  • 执行 `brew tap exolnet/homebrew-deprecated` 时出错

    我要安装 电子邮件受保护 cdn cgi l email protection在我的 MacBook Pro 和 Macos M1 上 我想执行以下步骤 brew tap exolnet homebrew deprecated brew i
  • OpenCV - 如何在 iOS 上将自适应阈值应用于图像

    我正在尝试将自适应阈值应用于 A4 纸的图像 如下所示 我使用下面的代码来应用图像处理 UIImage processImageWithOpenCV UIImage inputImage cv Mat cvImage inputImage
  • 将 jQuery 加载到 chrome-extension 中

    我正在尝试迈入 Chrome 扩展的神奇世界的第一步 现在我已经构建了我的清单并尝试加载jquery name Test Extension version 0 1 manifest version 2 description First
  • 删除表中的重复条目[重复]

    这个问题在这里已经有答案了 我想从下表中删除多个重复的键 id name uid 1 ekta 5 2 ekta 5 3 sharma 10 4 sharma 10 希望它像 id name uid 1 ekta 5 3 sharma 10
  • 如何从点击事件中知道是否选择了垫选项?

    我有多个mat select并想知道是否mat option所单击的内容已被选择或取消选择 这 event target对象传递时 click 被解雇 没有selected我可以使用的属性
  • 在图表上绘制单点

    我有一个小提琴图 如下所示 我想在小提琴顶部的每个 x 值上绘制一些单独的点 或线 十字 点 以最简单的为准 如下所示 我该怎么做呢 这是制作小提琴图的代码 参见使用 Matplotlib 绘制小提琴图 http pyinsci blogs
  • 使用div和jquery连续循环

    我正在继续一个上一篇文章 https stackoverflow com questions 1748656 images sliding continuously with table and jquery 但我想我应该打开一个新线程 因
  • 是否可以将实体框架与 Windows Azure 开发存储服务一起使用?

    编辑 是否可以将实体框架与 Windows Azure 开发存储服务一起使用 如何 Thanks 不 这是不可能或不切实际的 Azure 存储 与 SQL Azure 不同 不支持加入 并且可能无法很好地响应即席查询 但你不需要它 Azur
  • 覆盖 ZipArchiveEntry 的内容

    如何覆盖 a 的内容ZipArchiveEntry 以下代码使用StreamWriter with StringBuilder如果新文件内容比原始文件内容短 则会失败 例如 using System IO Compression using
  • Git 1.8:推送错误:dst ref refs/heads/master 从多个 src 接收

    git 1 8 的另一个问题 git push error dst ref refs heads master receives from more than one src error failed to push some refs t
  • 如何使用加密的 DLQ 将重新驱动策略添加到 SNS

    我有一个 SNS 用 KMS 加密 由两个 lambda 订阅 我正在尝试向其中一项订阅添加重新驱动策略 相关 DLQ 已加密 添加重新驱动策略会出现错误 无法检查 Amazon SQS 队列权限 确保队列存在并且您的帐户有权读取队列的属性
  • 捏合 MKMapView 时保持中心坐标

    如果您在跟踪设备位置时在 Apple 地图应用程序中进行捏合放大 缩小 则捏合手势的 平移 部分将被忽略 蓝色位置指示器将保持固定在屏幕中央 使用普通的时情况并非如此MKMapView 假设我已经有了用户的位置 我怎样才能达到这个效果呢 我
  • 如何对多种文件类型使用 grep --include 选项?

    当我想 grep 某个目录中的所有 html 文件时 我执行以下操作 grep include html pattern R some path 效果很好 问题是如何grep某个目录中的所有html htm php文件 由此使用 grep
  • Android中如何使用Intent在Activity之间传递值?

    我想将一个活动类别中的位置值传递给另一个活动类别 我的代码如下 protected void onListItemClick ListView listView View v int position long id switch posi
  • Swing UI 线程是何时创建的?

    在运行 Swing 程序的过程中 什么时候 UI 线程 事件调度线程 EDT 首先产生 想必任何给定的 JVM 都可以做任何它想做的事 例如 始终在启动时生成 EDT 无论 或从未使用过 但作为一个实际问题 当 通常会创建 EDT 吗 它是
  • 如何使用 NHibernate 的 criteria api 和实体查询子属性以仅加载与谓词条件匹配的子属性

    假设如下 public class Order public virtual int OrderId get set public virtual ISet