C# NHibernate关系与查询性能

C# NHibernate关系与查询性能,c#,nhibernate,C#,Nhibernate,我有以下情况: 我有一个很大的数据库模型,有很多关系 现在我的问题是,我想在映射中生成关系,因为这将简化插入和更新逻辑。但是如果我在映射中有关系,我会在性能问题中运行。这对我来说是合乎逻辑的,因为加载了太多的数据 现在我正在寻找解决这个问题的方法。 是否可以在不加载数据的情况下指定关系映射,或在查询中确定关系应加载的位置。 NHibernate是否有办法实现这一目标 我无法延迟加载关系,因为DataAccess是通过WCF调用的,因此会话会关闭。从逻辑上讲,如果您想获取大量数据,应该使用查询

我有以下情况:

  • 我有一个很大的数据库模型,有很多关系
现在我的问题是,我想在映射中生成关系,因为这将简化插入和更新逻辑。但是如果我在映射中有关系,我会在性能问题中运行。这对我来说是合乎逻辑的,因为加载了太多的数据

现在我正在寻找解决这个问题的方法。 是否可以在不加载数据的情况下指定关系映射,或在查询中确定关系应加载的位置。 NHibernate是否有办法实现这一目标


我无法延迟加载关系,因为DataAccess是通过WCF调用的,因此会话会关闭。

从逻辑上讲,如果您想获取大量数据,应该使用查询(可能是通过HQL或Linq进行的查询),然后使用自定义DTO将数据传递回您的服务

在执行更新时,大多数时间限制的数据量都会被更新,然后可以获取要更新的实体并设置相关字段并提交事务。当涉及到大型列表(例如搜索屏幕)时,通过服务发送实体不是一个好主意,而是将其映射到一个简单的数据,在屏幕上显示确切的信息并发送回