问题标签 [iesi-collections]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
610 浏览

c# - 无法将项目添加到 iesi.collections.generic.iset

尝试将项目添加到 iset,但没有发生。

类:

这是映射:

多一个:

我做错了什么?ControlPoint 和 ApprovedRoute 记录出现在表中,但 M_ApprovedRoute_ControlPoint 仍为空。

ps .Save() 调用 Session.SaveOrUpdate(obj)

0 投票
2 回答
2291 浏览

c# - HashSet vs HashedSet(Iesi):奇怪的行为

今天我在我的领域模型上测试了一些东西,我意识到这种行为不是我所期望的。

我试图隔离创建一个简单Customers-Orders模型的问题。

这是我的映射。

顾客:

命令:

我的Order课很简单:

这是我的Customer课:

在第一个示例中,我使用了一个ICollection<Order>创建为HashSet<Order>.

如果我运行此代码:

我可以看到INSERT客户的和INSERT订单的两个,但我也有UPDATE客户的。

在此处输入图像描述

如果我改变我的Customer班级切换到Iesi收藏:

我得到了预期的行为:

在此处输入图像描述

这是我的EntityGuid课:

有没有人可以帮助我尝试了解正在发生的事情?

问候。

如果有人真的有兴趣看看代码。我已经清理了所有东西并使其尽可能简单。可以在这里下载(NH_CollectionProblems)。

我正在使用 NHibernate 3.3.2.4000

0 投票
2 回答
3993 浏览

c# - 什么是合适的 NHibernate / Iesi.Collections.Generic.ISet替换?

在最新版本的 Iesi.Collections 中缺少 Iesi.Collections.Generic.ISet。似乎有三种选择:

  1. 链接哈希集
  2. 只读集
  3. 同步集

Iesi.Collections.Generic.ReadOnlySet 似乎是最接近 ISet 的,并且文档指出:

似乎 ReadOnlySet 是 ISet 的最佳替代品?目前,实现是通过公共方法将项目添加到集合中,因此它似乎是最合适的。替代品(IList,bag?)似乎需要更多资源或不那么快速/高效)?有更好的选择吗?(列表不应有重复,可手动验证)

我会做这样的事情:

基本上它归结为替代方案,是否有没有负面影响的替代方案,例如速度等?

0 投票
3 回答
1083 浏览

c# - 无法从 Iesi.Collections.Generic ISet 中删除项目

我有一个类型的集合:
Iesi.Collections.Generic

ItemBinding在哪里Domain.Model

我以这种方式初始化集合:

我用成员填充集合。

当我想从这个集合中删除一个项目时,我无法删除它。

甚至与集合中的项目itemToRemove相同。hashCode

我还尝试在集合中找到该项目,将其保存在变量中,然后将其删除:

但这不起作用。

一个可行的解决方法是:

但这是一个肮脏的解决方法。我正在尝试以优雅的方式执行此简单的删除:)。

更改类型

如果我从 IList 中的 ISet 更改类型,它可以正常工作。

当我想从这个集合中删除一个项目时,它被删除了。

我无法从 ISet 中删除项目的方式中缺少什么...?

感谢您的建议,解决方案。

0 投票
1 回答
772 浏览

c# - 类型或命名空间名称“ISet”不存在

我正在将 Windows Smart Client 解决方案从 nHibernate 2.2 升级到 4.0。这也需要更新 Iesi.Collections (4.0.1.4000)。

在这条线上:

我收到此错误:

这个问题在其他 2 个网站上没有得到解答:
http ://www.c-sharpcorner.com/forums/the-type-or-namespace-name-iset-could-not-be-found http://www.resolvinghere .com/cc/the-type-or-namespace-name-iset-could-not-be-found.shtml

我能做些什么?

0 投票
1 回答
31 浏览

c# - 为什么 Fluent NHibernate 生成的模式是只读的?

我有以下代码:

上面的代码成功创建了在其他地方定义的两个表,但是当我在 SSMS 中执行“编辑前 200 行”时,我发现单元格是只读的。

在代码文件、映射或其他任何地方都没有明显提及任何只读指令。

为什么模式生成为只读?

我在 Windows 7 Ultimate x86 上使用 VS 2010、.NET 4 客户端固件、FluentNHibernate 2.0.3.0、NHibernate 4.0.0.4000、Iesi.Collections 4.0.0.4000。

以上代码来自本书:NHibernate 3 Beginner's Guide [2011]