Castle ActiveRecord框架是一个基于.NET的ORM框架,它实现了ActiveRecord设计模式。它本身就是基于NHibernate,只是封 装了NHibernate的大部分烦杂细节,对于需要持久化的类,只需继承自ActiveRecordBase类,并对类中的property赋予正确的 Attribute,而无需编写烦杂的mapping file。对于大型系统复杂的数据库逻辑,Castle project建议仍然使用NHibernate作为ORM,而对于数据库数据大批量的迁移、备份等操作,Castle project建议不采用任何ORM机制,而直接使用ADO.NET。
一、简介 castle activerecord项目是.net的activerecord模式的一个实现。activerecord模式由表示数据库中记录的实例属性、作用于该特定记录的实例方法和作用于所有记录的静态方法组成。 castle activerecord是在nhibernate之上构建的,但是它的基于属性的映射使开发人员可以自由地为数据库到对象的映射编写xml,这是直接使用nhibernat
本文仅供自己学习参考 1、ActiveRecord是Castle中提供的一个数据访问框架,它在底层封装了NHibernate的操作,使用特性来代替映射文件,它提供的简洁的O/R映射会让你惊叹原来实现持久化数据层是那么简单。下面我们通过一个简单对象的CRUD操作来快速进入Castle ActiveRecord。 首先创建数据表: create table TestNhibernate( Id int
一、延迟加载 //用户发布的主题,一对多;Table:外键表;ColumnKey:外键;Lazy:延迟加载;Cascade:级联操作(级联删除) [HasMany(typeof(ThemeInfo), Table = "ThemeInfo", ColumnKey = "UserID", Lazy = true, Cascade =ManyRelationCascadeEnum.Delete)]pu
1 表列 如果你的列名是数据库的保留字,在Property中用"`"声明列名 [Property("`User`")] public String User { get { return _user; } set { _user = value; } } 不要使用Status做列名,它是NHibernate的保留字,否则ActiveRecord会抛异常:Ambiguous colu
1.Could not compile the mapping document: (string)错误? 如果确保配置文件没有错误,那请检查用户身份,必须是Administrator才行,即使有管理员权限的其它用户也不行。
1).Could not find the dialect in the configuration. 如果你直接从官方网站上指引直接copy下来的话,会报此错误,官方的都不可靠啊: <add key="hibernate.connection.driver_class" value="NHibernate.Driver.SqlClientDriver" /> <add key="hibernat