首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

NHibernate ISet与IList

NHibernate ISet 和 IList 是两种集合类型,它们在 NHibernate 中用于表示实体类中的集合属性。

ISet 是一个不包含重复元素的集合,它基于 HashSet 实现。在 NHibernate 中,使用 ISet 可以确保集合中的元素是唯一的,这在很多情况下是非常有用的。

IList 是一个有序的集合,它基于 ArrayList 实现。在 NHibernate 中,使用 IList 可以确保集合中的元素按照添加的顺序进行排序。

在实体类中,可以使用 ISet 或 IList 来定义集合属性,例如:

代码语言:csharp
复制
public class Customer
{
    public virtual int Id { get; set; }
    public virtual string Name { get; set; }
    public virtual ISet<Order> Orders { get; set; }
}

public class Order
{
    public virtual int Id { get; set; }
    public virtual string Description { get; set; }
    public virtual Customer Customer { get; set; }
}

在上面的例子中,Customer 类有一个 Orders 集合属性,它使用 ISet 来定义。这意味着每个客户可以有多个订单,但是每个订单只能属于一个客户。

在实际应用中,可以根据需要选择使用 ISet 或 IList。如果需要确保集合中的元素是唯一的,则可以使用 ISet。如果需要按照添加顺序进行排序,则可以使用 IList。

推荐的腾讯云相关产品:

  • 腾讯云云服务器(CVM):可以用于部署和运行 NHibernate 应用程序。
  • 腾讯云数据库 MySQL:可以用作 NHibernate 应用程序的数据库。
  • 腾讯云负载均衡:可以用于在多个服务器上分配流量。
  • 腾讯云对象存储 COS:可以用于存储 NHibernate 应用程序的静态文件和媒体文件。

产品介绍链接地址:

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • Nhibernate入门demo

    学习和使用Nhibernate已经很久了,一直想写点东西和大家一起学习使用Nhibernate。博客园里也有很多大牛写了很多关于Nhibernate入门的文章。...本篇文章阅读对象是:Nhibernate初学者!如果你是Nhibernate的研究者或者已经很熟练的运用Nhibernate请不吝赐教,对本文不足之处进行指教。      带着问题去学习!...学完这些后,希望你能回答下面几个问题:      1、Nhibernate是什么?      2、Nhibernate能做什么?带给我们的什么?     ...3、怎么搭建Nhibernate?      4、怎么使用Nhibernate?      好,我们就带着这几个问题开始我们的Nhibernate的旅程。    ...而Nhibernate就是:.Net环境下实现ORM的技术的一个框架!      第二个问题:      Nhibernate能做什么呢?

    35430

    Fluent NHibernate之旅(四)-- 关系(中)

    Fluent NHibernate之旅系列导航: 一、开篇:ISessionFactory Configuration 二、实体映射:Entity Mapping 三、继承映射:Inheritence...映射 不得不赞叹一下 Fluent Nhibernate ,有了它,我们的映射一切都变得如此简单,先来看看Model吧,用户的订单列表,对于用户来说,暂时是不需要排序的,所以我们可以使用ISet作为Order...virtual DateTime CreateTime { get; set; } public virtual UserDetail Detail { get; set; } public ISet...我们在Output中,能看到NHibernate生成的Sql语句,测试也成功,说明我们刚刚是立即加载了Orders属性。...如果您在使用Fluent Nhibernate的时候也遇到了问题,可以及时与我联系或求助于Fluent 的Google Groups。 应“亦续缘”的要求,我把代码整理了下,发上来,便于大家学习。

    719100

    C#中IListList的区别感想

    首先IList 泛型接口是 ICollection 泛型接口的子代,并且是所有泛型列表的基接口。...它仅仅是所有泛型类型的接口,并没有太多方法可以方便实用,如果仅仅是作为集合数据的承载体,确实,IList可以胜任。 不过,更多的时候,我们要对集合数据进行处理,从中筛选数据或者排序。...这个时候IList就爱莫能助了。 1、当你只想使用接口的方法时,ILis这种方式比较好.他不获取实现这个接口的类的其他方法和字段,有效的节省空间....2、IList 是个接口,定义了一些操作方法这些方法要你自己去实现,List 是泛型类,它已经实现了IList 定义的那些方法 IList IList11 =new List (); List...IList IList11 =new List (); 只是想创建一个基于接口IList的对象的实例,只是这个接口是由List实现的。所以它只是希望使用到IList接口规定的功能而已。

    9210

    NHibernate学习笔记之一,Hello world!

    开始做一个简单的增删改查示例,如图1示例:  图1 1、创建数据库表,这里假设使用NibernateDemo数据库,Users表包括(id,name,pwd)字段,id是主键自动增长,namepwd...2、新建项目并添加引用,将NHibernate-3.3.0.GA-bin中的“Iesi.Collections.dll”NHibernate”引用到项目中,如图2所示复制Configuration_Templates...; namespace NHibernateDemo.WebUI {     public class UsersDAL     {         //介于NHibernate.NET应用程序中的主运行接口...        ISession session = null;         //获得所有用户         public IList GetAllUsers()         {...                ITransaction transaction = session.BeginTransaction();                 //执行HQL查询                 IList

    60020

    C#中IListList的区别深入解析

    本篇文章主要是对C#中IListList的区别进行了详细的分析介绍,需要的朋友可以过来参考下,希望对大家有所帮助。...写代码时对: IList IList11 =new List (); List List11 =new List (); 有所疑惑,于是在网上搜索一下,很受启发,于是收藏下来,但对部分观点不敢苟同,用红色字体标明我的看法...这个时候IList就爱莫能助了。 1、当你只想使用接口的方法时,IList这种方式比较好.他不获取实现这个接口的类的其他方法和字段,有效的节省空间....2、IList 是个接口,定义了一些操作方法这些方法要你自己去实现,List 是泛型类,它已经实现了IList 定义的那些方法 IList IList11 =new List (); List...而IList IList11 =new List (); 只是想创建一个基于接口IList的对象的实例,只是这个接口是由List实现的。所以它只是希望使用到IList接口规定的功能而已。

    39240

    让OData和NHibernate结合进行动态查询

    但是在项目有时我们并没有采用Entity Framework,而是采用的NHibernate,那么该怎么用OData呢? 经过一段时间的Google和研究,终于找到了一个好的方案。...在OData API查询时,用户前端是url跟参数,但是在服务器端,我们是接收到的是一个ODataQueryOptions对象,其实我们需要做的就是把这个对象进行解析,生成NHibernate能够理解的查询形式...SourceControl/changeset/view/72014f4c779e#Samples/WebApi/NHibernateQueryableSample/System.Web.Http.OData.NHibernate.../NHibernateFilterBinder.cs Filter和OrderBy属性都会被转换成HQL,然后我们就需要进行NHibernate的查询了。...Convert.ToInt32( ((IList) queryResults[1])[0])                 : ((IList) queryResults[0]).Count;

    40410

    NET中小型企业项目开发框架系列(一个)

    当时的前端,我们开发了基于Net一组结构sprint.NET+NHibernate+MVC+WCF+EasyUI等中小型企业级系统开发平台,如今把整个开发过程中的步步进展整理出来和大家分享,这个系列可能有点长...我们的底层开发平台是sprint.NET+NHibernate+MVC+WCF+EasyUI方式开发,顺便加点Spring.net注入的部分,当然我们最基本的关于权限设计、业务设计,而架构。...我们还是以最经常使用的MVC架构開始拓展 參考材料: > > > > 首先我们要解说一下关于项目的搭建部分...; using NHibernate; using System.Linq.Expressions; using System.Collections; using ICommonSupportDAL;...今天就解讲到这里,接下来给大家解说Collection的封装抽象。期待! 版权声明:本文博客原创文章,博客,未经同意,不得转载。

    58010

    使用VS2015和Nhibernate实现MySql数据库连接,实现增删改查操作

    嗯,如果能够运行成功,说明我们的步骤都是正确的,这就是一个简单的测试,测试成功,说明我们的VSMySql数据连接是没有任何问题的,只要把该引入的都引入了就不会报什么异常错误之类的,接下来将用C#代码和...Nhibernate包来实现一个很简单的对数据增删改查的操作,这一次需要用到我们之前下载的Nhibernate包里面的文件,全部dll文件引入之后,“引用”下面应该是这样的: ?...现在表中有两天信息了,现在我们使用代码对这两条信息进行操作,步骤如下: 1.打开VS2015新建一个项目,名字为APengChao,数据库名字对应的话,看着也舒服一些,当然名字随意,想取什么就取什么,...Test.Modle; namespace Test.Manger { class APengChaoManger { public IList...(string[] args) { APengChaoManger pc = new APengChaoManger(); IList

    1.4K30
    领券