NHibernate是.NET框架的成熟的开源对象关系映射器(ORM)。
如何使用 NetTopologySuite 2.0 处理 NHibernate.Spatial 8 中的“IPoint”删除
我目前正在将我的项目从 NHibernate.Spatial 5.0.0 更新到 8.0.0。该更新还包括通过 NuGet 将 NetTopologySuite 从 1.x 升级到 2.0。更新后,我遇到了以下问题
我们正在使用 AngularJS、C#、ASP.NET Web API 和 Fluent NHibernate 构建一个 Web 应用程序。我们决定使用 DTO 将数据传输到表示层(角度视图)。 我有一些疑问……
外键从同一个表接收两个主键 - Fluent Nhibernate
我在尝试创建一个复合 Id 时遇到问题,该 Id 从一个表接收一个外键,从另一个表接收另一个外键,但是第二个外键包含两个主键...
我在我的项目中使用 NHibernate (2.0.1GA)。在运行时我得到 无效的转换(检查您的映射是否存在属性类型不匹配); [...] 所以它只是说它无法投射某些东西。那就有点了
我有这个设置 导入器\映射\CuentaBancoMap.cs 使用 FluentNHibernate.Mapping; 命名空间导入器 { 公共类 CuentaBancoMap : ClassMap { 公开
我有2节课。 公开课名称 { 公共字符串名字{获取;放; } 公共字符串姓氏{获取;放; } } 类人 { 公共虚拟名称名称{ get;放; } 公共虚拟...
我不理解以下行为: 我们将最新的 NHibernate.dll 5.5.2 与 Nuget 引用到我们的 .NET Framework 4.8 Web 应用程序项目中。 我们还使用最新的 RtMemoryCache.dll 5....
NHibernate Projections.Cast 为自定义类型
我的数量列是一个整数。我想在它上面使用 Like,然后尝试将其类型转换为字符串。 为此,我使用: 表达式.Like( Projections.Cast( NHibernateUtil.String, 预测.属性...
定期 - 无法将索引 Y 处的 Unicode 字符 X 转换为指定的代码页
在我们的生产站点(这是一个 .net 4 托管的 WCF 应用程序)中,我们对产品进行了升级,现在是 .net 4(之前是 .net 3.5)。这是一个大型产品,在
流畅的nhibernate一对多映射,无需References方法
假设我有两个通过一二多相关的类: 公开课客户 { 公共虚拟 Guid Id {get;放;} 公共虚拟字符串名称{get;放;} 公共虚拟 IList ...
我有两个实体,一个团队和一个员工。 我想要一份拥有热切的团队的员工名单。该列表必须分页。 公共 PagedList GetAllEmployeesWithEagerLoadedTeams...
当使用 SetFirstResult(start) 和 SetMaxResults(count) 方法来实现分页时,我注意到生成的查询只执行 select top count * from some_table 并且不采取 s...
向 NHibernate 标准添加投影会阻止其执行默认实体选择
我正在编写一个 NHibernate 标准来选择支持分页的数据。我正在使用 SQL Server 2005(+) 中的 COUNT(*) OVER() 表达式来获取可用行的总数,如建议的...
假设我有一个域模型,其中有一个名为 Blog 的类,该类有一个名为 BlogEntries 的属性(包含 BlogEntry 类型的对象)。如果我有一个包含两个表“博客”的数据库模型...
C# 休眠 | PL/SQL Oracle - 包含变音符号时字符串的长度不同
我有示例字符串,我试图使用 nhibernate ISession 对象将其作为值放入 VARCHAR(255) 列(在 Oracle 数据库中)。 absssssssssssssssssssssss
Oracle 10g 分页使用“rownum”和 NHibernate 返回错误的结果集
目前,当我使用 Oracle 10g 和 NHibernate 分页数据时,我在应用程序中遇到了一些奇怪的行为。 我有一个包含 20 行的表,我想在列表中显示每个站点 10 行,所以我的...
LINQ-to-NHibernate:无法将 Linq Skip() 和 Take() 与 FetchMany 一起使用
我有这些实体: 公共类 BlogPost { 公共虚拟int Id { 得到;放; } 公共虚拟 IList 关键字 { get;放; } 公共虚拟 IList Co...
大型表(10,000,000 行)上的 Nhibernate 分页性能
我有一个相当大的表,大约有 10,000,000 行。 我需要从我的 C# 应用程序中翻阅此表。 我正在使用 NHibernate。 我尝试使用这个代码示例: 返回会话。
我有这样的问题,这似乎很常见,但事实上SO和谷歌的解决方案都不适合我。 让我们考虑这样的情况(与我的非常相似): 公开课用户 {
我目前正在编写一个非常基本的在线论坛,我想检索带有分页帖子子集合的线程。所以我的映射是: 我目前正在编写一个非常基本的在线论坛,我想检索带有分页帖子子集合的线程。所以我的映射是: <class name="Thread" table="ForumThreads"> <id name="Id"> <generator class="identity"></generator> </id> <property name="Title"></property> <bag name="Posts"> <key column="ThreadID"></key> <one-to-many class="Post"/> </bag> </class> <class name="Post" table="ForumPosts"> <id name="Id"> <generator class="identity"></generator> </id> <property name="Content"></property> <many-to-one name="Thread" class="Thread" column="ThreadID"> </many-to-one> </class> 我想做这样的事情: public class Thread { public virtual int Id { get; set; } public virtual string Title { get; set; } public virtual IEnumerable<Post> Posts { get; set; } } public class Post { public virtual int Id { get; set; } public virtual Thread Thread { get; set; } public virtual string Content { get; set; } } public Thread GetThread(int threadId, int page, int pageSize, out int count) { var session = SessionFactory.CurrentSession; // Query to get the thread with a child collection of paged posts. return thread; } 是否可以通过一个查询来完成此操作,还是必须将其分成两个? 谢谢 var threadId = ... session.QueryOver<Thread> .Where(thread => thread.Id == threadId) .Fetch(thread => thread.Posts).Eager .Take(pageSize) .Skip(page) .TransformUsing(Transformers.DistinctRootEntity) .List<Thread>(); 如果您正在考虑进行数据库级分页,那么方法将是这样的, 你必须使用集合来支持额外模式的延迟加载 您可能需要使用过滤器来加载集合,(但您不能返回线程作为结果,就好像您尝试访问集合它将加载所有帖子一样) public List<Post> GetThreadPosts(int threadId, int page, int pageSize, out int count) { var session = SessionFactory.CurrentSession; Thread thread = (Thread )session.Get(typeof(Thread ), threadId); var posts = session.CreateFilter(thread .Posts, "").SetFirstResult((page - 1) * pageSize).SetMaxResults(pageSize).List(); return posts ; }