nhibernate相关内容
我有一个有 6 列的简单表格.大多数情况下,对它的任何插入语句都可以正常工作,但偶尔我会收到 DB Timeout 异常:超时已过.操作完成之前超时时间已过或服务器没有响应.声明已终止. 超时设置为 10 秒. 我应该提到我正在使用 NHibernate 并且该语句在插入本身之后还包含一个“select SCOPE_IDENTITY()". 我的想法是该表被锁定或其他原因,但当时
..
我正在尝试使用 ORM 工具解决问题,并将其缩小到两个候选对象. nHibernate 或 LLBLGen Pro 请你们告诉我使用这两种工具的利弊,特别是如果你有这两种工具的经验.我对任何其他工具并不真正感兴趣,但我想要一些提示,以便我可以决定花时间学习哪个工具...... 我已经知道一个是免费的,一个不是,我也知道 nHibernate 可能需要一些学习...... 非
..
我注意到有两种方法可以创建对 nhibernate 的通用友好访问. IQueryOver查询= session.QueryOver().Where(criteria); 和 IQueryable查询= session.Query().Where(criteria); 各个接口的实现. IQueryOver: IQueryOver, IQueryOver 和 IQueryable:
..
nhibernate 会在中等信任度下开箱即用吗? 解决方案 Castle DynamicProxy2 dll 需要更新才能以中等信任度工作.检查此链接 编辑 使用上述解决方案,您无需禁用 NHibernate 中的任何内容,包括延迟加载.DynamicProxy2 不会即时生成 .pdb 文件,让一切在中等信任度下顺利运行.
..
我以前在 Web 应用程序中使用过 NHibernate.我必须承认,我仍在学习 NHibernate,并没有完全掌握会话管理的艺术.所以我想在我正在编写的 Win Forms 应用程序中使用 NHibernate.我听说 Forms 应用程序中的会话管理有点不同.会话必须在对话的基础上打开和关闭.是的?有谁知道这方面的一个很好的例子?或者也许是一些解释在 win32 应用程序中创建和拆除会话的有
..
是否可以从 NHibernate 配置文件生成数据库表和 C# 类?之后,是否可以非破坏性地更改配置文件并更新表和配置文件? 您是否推荐任何工具来执行此操作?(最好是免费的...) 解决方案 正如 Joachim 所提到的,这是您正在寻找的“hbm2ddl.auto"设置. 您可以通过如下代码进行设置: var cfg = new NHibernate.Cfg.Configu
..
我们的客户希望在下一个项目中同时支持 SQL Server 和 Oracle.我们的经验来自 .NET/SQL Server 平台.我们将聘请一名 Oracle 开发人员,但我们关注的是 DataAccess 代码.NHibernate 会让数据库引擎对我们透明吗?我不这么认为,但我想听听遇到类似情况的开发人员的意见. 我知道这个问题有点含糊,因为我没有 Oracle 经验,所以我不知道我们
..
我希望使用 NHibernate 创建多对多关系.我不确定如何将这些映射到 XML 文件中.我还没有创建这些类,但它们只是基本的 POCO. 表格 人物 个人ID 姓名 能力 能力ID 标题 Person_x_Competency 个人ID 能力 ID 我是否会在每个 POCO 中为另一个类创建一个列表?然后使用 NHibernate 配置文件以某种方式映
..
我目前正在使用 NHibernate.我有一种情况,我需要像这样将一堆记录保存到数据库中: var relatedTopics = GetRelatedTopics(topic);foreach (var relatedTopic in relatedTopics/* 可以是 10 - 1000+ */){var newRelatedTopic = new RelatedTopic { Rela
..
我将 NHibernate 3.0 与 LINQ 提供程序和 QueryOver 一起使用.有时我想急切地加载相关数据,在 LINQ 和 QueryOver 中都有“Fetch"方法来救援.现在我有一个特殊的场景,我想在第二级不直接加载一个属性,比如: Foo f = ...;F.A.B.C 使用 LINQ 没有问题,因为您可以使用“ThenFetch"方法“链接"获取,例如: var re
..
我正在尝试这样做: var list = Session.QueryOver().Where(x => x.LastName.Contains(searchText)).List(); 但我收到此错误:无法识别的方法调用:System.String:Boolean Contains(System.String) 你有什么想法吗? 更新: 公共类人{公共虚拟字符串名字{获取;放;}
..
我使用了这个 你如何用流畅的 NHibernate 将枚举映射为 int 值? 过去映射,但我最近升级到 NHibernate 3,这似乎不再起作用了.我已经在我的 EnumConvention 类中放置了断点并且它们没有被击中.命中数据库的查询将枚举作为默认配置的字符串. 这如何与 NHibernate 3 配合使用? 更新 这是生成的映射文件的一部分:
..
我正在构建一个多租户 Web 应用程序,出于安全考虑,我们需要每个租户有一个数据库实例.所以我有一个用于身份验证的 MainDB 和许多用于应用程序数据的 ClientDB. 我正在使用带有 Ninject 和 Fluent nHibernate 的 Asp.net MVC.我已经在应用程序开始时在 Ninject 模块中使用 Ninject 和 Fluent nHibernate 设置了我
..
我正在尝试将 SQL 查询转换为 NHibernate QueryOver 语法,但我不明白如何按计数投影进行排序. 这是 SQL 查询的样子: 选择前 10 个 v.intVoteUserID, COUNT(v.intVoteUserID)来自 Group_MessageVotes v其中 v.dtmVote >:日期按 v.intVoteUserID 分组按 COUNT(v.intVo
..
我想在 Oracle 11g 上使用 NHibernate 3.2 加速批量 insert 操作.为此,我尝试过 Session.Save(entity);Session.Flush();会话.清除(); ... 在我的 foreach 循环中,但由于会话中缺少对象而导致异常: 未能延迟初始化角色集合:MyClass.PropertyX,没有会话或会话被关闭 另一个尝试是设置批量大
..
如果开始一个新项目,您会为 ORM NHibernate 或 LINQ 使用什么以及为什么.各自的优缺点是什么. 编辑:LINQ to SQL 不仅仅是 LINQ(感谢 @Jon Limjap) 解决方案 我问过自己一个非常相似的问题,除了我考虑的是 WilsonORM 而不是 NHibernate,我认为它非常好. 在我看来,有很多重要的区别. LINQ: 不是一
..
我的 MVC 应用程序中有一个查询需要大约 20 秒才能完成(使用 NHibernate 3.1).当我在 Management Studio 上手动执行查询时,它需要 0 秒. 我在 SO 上看到过类似的问题,与这个问题类似,所以我更进一步地进行了测试. 我使用 Sql Server Profiler 拦截查询,并在我的应用程序中使用 ADO.NET 执行查询. 我从 Prof
..
我想在编写 Linq 查询时使用 NHibernate 进行分页.做这样的事情很容易: return session.Query().OrderByDescending(payment => payment.Created).Skip((page - 1)*pageSize).Take(pageSize).ToArray(); 但是有了这个,我没有得到任何关于项目总数的信息.如果我只做一个简单
..
我有一个父对象,它与子对象的 ISet 有一对多的关系.子对象具有唯一约束(PageNum 和 ContentID - 父对象的外键).
..
是否可以使用 Fluent NHibernate 生成表索引以及数据库模式的其余部分?我希望能够通过自动构建过程生成完整的数据库 DDL. 解决方案 在 Fluent NHibernate 的最新版本中,您可以调用 Index() 方法来执行此操作,而不是使用 SetAttribute(不再存在): Map(x => x.Prop1).Index("idx__Prop1");
..