当前位置: 首页 > 编程笔记 >

nhibernate 流利的NHibernate映射

司空兴为
2023-03-14
本文向大家介绍nhibernate 流利的NHibernate映射,包括了nhibernate 流利的NHibernate映射的使用技巧和注意事项,需要的朋友参考一下

html" target="_blank">示例

该Fluent NHibernate是一个库,以帮助您在使用C#代码,而不是XML映射的实体映射。Fluent NHibernate使用,fluent pattern并且它基于约定来创建映射,它为Visual Studio工具(例如intellisense)提供了强大的功能,可改善您映射实体的方式。

在项目上添加来自Nuget的Fluent NHibernate的引用,并添加一个类CustomerMap.cs:

namespace Project.Mappings
{
    public class CustomerMap : ClassMap<Customer>
    {
        public CustomerMap()
        {
            Table("CUSTOMERS");

            Id(x => x.Id).Column("Customer_Id").GeneratedBy.Native();
            
            //在指定最大长度和设置的同时映射属性 
            //它不能为空。将导致后备栏具有
            //这些特征,但这不会在模型中强制执行!
            Map(x => x.Name)
                .Length(16)
                .Not.Nullable();

            Map(x => x.Sex);

            Map(x => x.Weight);

            Map(x => x.Active);

            //在指定数据库中列的名称时映射属性
            Map(x => x.Birthday, "BIRTHDAY");

            //映射多对一关系
            References(x => x.Company);

            //映射一对多关系,同时定义 
            //列用作外部表中的键。
            HasMany(x => x.Orders).KeyColumn("CustomerPk");
        }
    }
}

在CustomerMap从类inhiritsClassMap<T>是用于映射的基类,并包含所有必要创建您的映射方法T实体。该方法Table定义您要映射的表名。该Id方法用于映射primery key列。该Map方法用于映射其他列。

 类似资料:
  • NHibernate 是一个基于.Net 的针对关系型数据库的对象持久化类库。Nhibernate 来源于非常优秀的基于Java的Hibernate 关系型持久化工具。NHibernate 从数据库底层来持久化你的.Net 对象到关系型数据库。 NHibernate 让开发者的代码仅仅和对象关联,NHibernat 自动产生 SQL 语句,并确保对象提交到正确的表和字段中去。 特性包括: Visu

  • NHibernate Designer 是一个 Visual Studio 2010 的插件,用于实现 NHibernate 的可视化设计功能。

  • 对nHibernate的封装。 特点 * 无XML映射文件 (*.hdm.xml) * 流畅接口 * 流程C#配置nHibernate * 流畅C#映射,甚至自动映射。 * 强类新映射,减少类新匹配错误 * 数据库的重构,变得更容易 Fluent nHibernate的取代C#文件 public class CatMap : ClassMap{ public CatMap() { Id(

  • Welcome to NHibernate NHibernate is a mature, open source object-relational mapper for the .NET framework. It is actively developed,fully featured and used in thousands of successful projects. The NHi

  • 在.NET Framework 3.5中提供了LINQ 支持后,Linq的呼声一度很高,各种LINQ Provider更是满天飞。他能够将数据查询语句集成到编程语言中,以一种统一的方式操作各种数据源,减少数据访问的复杂性。而LINQ本身也提供了很 好的扩展性,使开发人员可以轻松地编写属于自己的LINQ Provider。 NHiberante Linq 1.0支持基于NHibernate Cont

  • 本文向大家介绍nhibernate 要映射的模型样本,包括了nhibernate 要映射的模型样本的使用技巧和注意事项,需要的朋友参考一下 示例 NHibernate使用类来映射到表或视图中。Plain Old CLR Object对于持久性类,创建(POCO,有时也称为普通普通CLR对象)是一种很好的做法。POCO的数据可通过标准.NET属性机制访问,从而使内部表示不受公共可见界面的影响。 NH