nhibernate相关内容
我有以下映射类 交易 { ID, AccountFrom, AccountTo }帐户 {ID,公司}公司 {ID} 现在我想不出一种选择所有交易的方法 AccountFrom.Company.ID = X 或 AccountTo.Company.ID = X 我可以使用以下方法让 AND 工作: criteria.CreateCriteria("AccountFrom").Create
..
我使用 NHibernate、LINQ to SQL 和实体框架已经有一段时间了.虽然我看到了使用 ORM 保持开发工作快速进行的好处,但代码简单,并且 对象关系阻抗不匹配 到最低限度,我仍然发现很难让顽固的 SQL dba 相信 ORM 的优势.从我的角度来看,ORM 可以用于至少 90-95% 的所有数据访问,而那些真正麻烦的事情要在适当的过程或函数中完成.我绝不是那种说我们必须在 ORM 中
..
我正在尝试使用 Asp.net 身份和 NHibernate. 我使用 .NET framework 4.5.1 创建了一个新的空白 Asp.net MVC 站点,并且我已经安装并遵循了使用 nuget 包 NHibernate.AspNet.Identity 的说明,如下所述: https://github.com/milesibastos/NHibernate.AspNet.Ide
..
我有一个非常简单的单向映射.见下文: public ContactMap(){Id(x => x.Id).GeneratedBy.Assigned();地图(x => x.Name);参考文献(x => x.Device);HasMany(x => x.Numbers).Not.Inverse().Not.KeyNullable().Cascade.AllDeleteOrphan().Not.
..
当使用 SetFirstResult(start) 和 SetMaxResults(count) 方法实现分页时,我注意到生成的查询只执行 select top count *来自 some_table 并且它不考虑 start 参数,或者至少不在数据库级别考虑.看来,如果我指示 NHibernate 执行以下查询: var users = session.CreateCriteria().Se
..
是否有可能有一个由数据库管理的类自动增量的整数属性,但不是主键(或 NHibernate 所指的 Id)?我很难找到如何执行此操作的示例.任何帮助,将不胜感激.谢谢. 解决方案 两个选项. 如果数据库 100% 对此负责,您只需要告诉 NHibernate 该属性已生成,并且不要将其包含在任何更新/isnerts 中.缺点是 NH 需要做一个额外的选择来保持内存中的值. 如果数
..
我有两个处于双向一对多关系的实体: 公共类存储{公共 IList盒子{得到;放;}}公共课箱{公共存储 CurrentStorage { 获取;放;}} 和映射:
..
我的存储库在 UnitOfWork 模型中工作;所有操作,无论是检索还是持久化,都必须在 IDisposable UnitOfWork 令牌对象的范围内执行,该令牌对象在幕后与 Session 执行请求的工作.所以,基本模式是: using (var uow = repo.BeginUnitOfWork()){尝试{//数据库操作在这里;所有 repo 方法都需要传入 uow....repo.C
..
当前版本的 SysCache 似乎不适用于 NHibernate 3.3.我替换了我的 web/bin 目录中的 NHibernate dll,并保持 SysCache dll(适用于 3.2)不变.现在,当 IIS 尝试进行预绑定时,它会加载 SysCache dll 并尝试将其绑定到 NHibernate 3.2.0.4000 并失败. [FileLoadException: 无法加载文
..
提高服务器应用程序可扩展性的一种方法是异步运行 IO 绑定操作(读取文件、套接字、Web 请求、数据库请求等).这并不意味着在 ThreadPool 中运行它们,它只会在执行操作时阻塞线程.正确的方法是使用异步 API(BeginRead、BeginGetResponse、BeginExecuteReader 等).该问题在 CLR vi C# 一书中得到了很好的描述. 这里有一些关于 异步
..
我正在努力了解 DI/IoC、NHibernate,并让它们为我正在开发的应用程序很好地协同工作.我对 NHibernate 和 DI/IoC 都很陌生,所以不太确定我正在做的事情是否是明智的做法.这是场景: 该应用程序使用户能够计算特定金融交易的特定价值(称为保证金).每笔交易的保证金值的计算由抽象 MarginCalculator 类的具体实现进行,具体实现取决于特定交易的产品类型(由产
..
我有以下问题 基本上我有以下 2 个片段: var contactAssociation =session.QueryOver(() => contactAssociationAlias).Where(() =>contactAssociationAlias.Contact.ID == careGiverId &&contactAssociationAlias.Client.ID == cli
..
我想从 NHibernate 获取这个 SQL: SELECT SUM(color_pages) * SUM(total_pages)FROM connector_log_entry按部门名称分组 但我在任何地方都找不到任何算术运算 (*) 投影. 这是我目前的代码: Session.QueryOver().SelectList(list => list.SelectGroup(m =
..
如何执行以下加入以返回有权访问给定公司 ID 的公司的用户.问题是在 UserAccess 和 User 之间使用 User 对象没有明确的关系,他们只是在字符串属性 Username 上加入: 用户(用户名,姓名)用户访问(用户名,公司)公司(编号)Session.QueryOver().Where(c => c.Id == companyId).JoinQueryOver(u => u.Us
..
我已经尝试解决这个问题一天了,但无处可去,所以我希望有人之前可能已经解决了这个问题.我找到的最接近解决方案的是 How to map an NHibernate ISet to IList usingAutoMapper 和 通过 AutoMapper 将 IList 映射到 ICollection 但仍然没有乐趣. 我有一个如下所示的数据对象: 公共类父级{公共虚拟 ISet
..
来自 .Net Hosting(灵活媒介信任)的评论说. Godaddy 是中等信任度,这意味着你不能使用像 IL 发射这样的东西(Nhibernate 需要这个来代理) 是真的吗?有没有人在 GoDaddy 上使用 NHibernate? 解决方案 我已经在中等信任度的环境中成功运行了 Nhibernate 2.1 和现在的 3.对于 NH3,我唯一需要做的就是下载 Cast
..
我阅读了这篇文章 其中 Ayende 表示 NHibernate 可以(与 EF 4 相比): Collection with lazy="extra" – Lazy extra 意味着 NHibernate 适应您可能运行的操作您收藏的顶部.这意味着那 blog.Posts.Count 不会强制整个集合的负载,但是而是创建一个“选择计数(*)来自博客 ID = 1 的帖子"声明,并且blo
..
考虑以下 Hibernate 映射文件: ...
..
我使用 NHibernate 和 ODP.NET 连接到 Oracle 11g 数据库.当然,可能存在连接错误(网络故障、DB 宕机……).我在我的代码中处理所有这些异常,所以没问题.但是当然用户可以重试他的操作(也许只是短暂的网络故障),这就是我的问题: ODP.NET 默认使用连接池.通常没有问题,但是当用户在连接错误后重试操作时,NHibernate 会从 ODP.NET 获取无效(池
..
我正在使用 linq 到 Nhibernate 来向数据库发出一些选择查询. 我的问题是,我怎么知道 Fluent NHibernate 生成的查询? 解决方案 如果您希望 SQL 在 log4net 中,请确保在配置部分中设置记录器. 我将 NHibernate 包放在“INFO"以减少噪音,并将 NHibernate.SQL 放在所有位置,以便我可以记录所有 SQL 语句.
..