castle activerecord 学习过程出现的问题

优点:

1、CRUD:代码简洁

2、不用配置map

3、自带事务方便

4、自带IOC

5、自带 数据有效性验证

缺点:

1、自增长(Oracle 一直提示序号不存在,有空继续尝试)

2、多条件,直接用 HQL写在类里,或者将条件写在  Model字段定义里,太过硬性

3、CRUD 每个出错直接异常,每个语句必须  try catch

4、比较方便的CRUD ,删除多个、修改多个、则需要用到 HQL,问题如2、

5、实体模版生成器 Castle.ActiveRecord.Generator.exe 找不到  Oracle !!

6、数据有效性验证,实体继承的类不一直,需要继承 ActiveRecordValidationBase,一旦继承这个,那么ActiveRecordBase这个就无法继承

7、二次try catch +事务 会报错。

castle activerecord 学习过程出现的问题

时间: 2024-10-10 06:16:42

castle activerecord 学习过程出现的问题的相关文章

Castle.ActiveRecord 多对多关系 引发的错误处理

在Castle.ActiveRecord 实体类中,如果两个对象有 “多对多” 关系,一般的做法是将其分解为 两个“一对多”关系,但有时引发了 “您要删除 或 引用 的对象#2在数据库中不存在”的异常 百思不得其解,同样的用法在“媒体引用”中一直都是正常的,为什么在“专题引用” 和“ Web栏目引用” 中就出现异常呢? 通过遍历代码发现了细微的差别: 在“媒体”的业务对象加载时,为了判断一个对象是否可以删除,常查询其被引用的 次数是多少,使用的方法是:DALMediaReference.Find

Castle.ActiveRecord多数据库配置

最近使用Castle.ActiveRecord框架,网上关于多数据支持的文章很少,因此有了这篇博文的产生. 开发工具VS2015,Sql Server2008R2 新建数据库,数据初始化脚本如下: 1 --新建数据库Castle.ActiveRecord.DB1 2 CREATE DATABASE [Castle.ActiveRecord.DB1]; 3 GO 4 5 USE [Castle.ActiveRecord.DB1] 6 GO 7 /****** Object: Table [dbo]

Castle ActiveRecord学习(一)

简介 来源:http://www.cnblogs.com/zxj159/p/4082987.html 一.Active Record(活动记录)模式 Active Record是业务逻辑层中(<企业应用架构模式>将该模式归为数据源模式)常用的一种框架模式,尤其在底层数据库模型匹配业务模型时它特别有用,它是一种以数据库驱动为主的框架模式. 通常,数据库中的每张表都对应一个业务对象.业务对象表示表中的一行,并且包含数据.行为以及持久化该对象的工具,此外还有添加新实例和查找对象集合所需的方法. 在A

Castle ActiveRecord框架学习(一)

一.Active Record(活动记录)模式 Active Record是业务逻辑层中(<企业应用架构模式>将该模式归为数据源模式)常用的一种框架模式,尤其在底层数据库模型匹配业务模型时它特别有用,它是一种以数据库驱动为主的框架模式. 通常,数据库中的每张表都对应一个业务对象.业务对象表示表中的一行,并且包含数据.行为以及持久化该对象的工具,此外还有添加新实例和查找对象集合所需的方法. 在Active Record模式中,每个业务对象均负责自己的持久化和相关的业务逻辑. Active Rec

【转】Castle.ActiveRecord的嵌套事务处理

嵌套的情况下,怎么处理Castle.ActiveRecord的事务? 今天试了一下,原来还是很简单的,只需要使用Castle.ActiveRecord.TransactionMode.Inherits就可以了. http://www.castleproject.org/activerecord/documentation/trunk/usersguide/scopes.html protected void btnInsert_Click(object sender, EventArgs e)

Castle ActiveRecord学习笔记三:初始化配置

在使用Castle ActiveRecord的时候,需要两种方式来进行初始化,一种就是通过配置文件,另外一种就是将初始配置进行硬编码,写到程序中来. 当然,一般来说,利用配置文件来进行将会大大简化后期维护,我们首先在程序中添加一个App.config的配置文件,记住,一定要将这个配置文件的生成操作设置为"嵌入的资源"才行.否则会提示如学习笔记二中所出现的问题. 具体的配置如下: <?xml version="1.0" encoding="utf-8&

[掌眼]解决Castle.ActiveRecord在ASP.NET或WCF环境中HttpContext.Current无效的错误

AR設定檔要指定threadinfotype,不指定的話,預設值是用WebThreadScopeInfo,是用 HttpContext.Current.Items 來存放 SesionScope,所以碰到與UI無關的執行緒,沒有 HttpContext.Current 程式就掛啦. 解决方案一: 1.检查“web.config” <activeRecord isWeb="true" isDebug="false"> <config>... .

Castle ActiveRecord框架学习(二):快速搭建简单博客网站

一.数据库 1.数据表 Category:类别标签表(字段Type=1为类别,Type=2为标签) Category_Post:类别标签与文章中间表 Post:文章表 Comment:评论表 2.数据库关系图 3.简单说明 Category和Post表为多对多关系 Post和Comment表 为一对多关系 二.实体类 1.Category类: // 指定数据表,Lazy为延迟加载 [ActiveRecord("Category",Lazy=true)] public class Cat

Castle.ActiveRecord环境配置

在VS Nuget包管理器中将Castle.ActiveRecord下载到项目中 在项目中的app.config中添加如下配置节点 <?xml version="1.0" encoding="utf-8" ?> <configuration> <configSections> <section name="activerecord" type="Castle.ActiveRecord.Frame