关于初始化ActiveRecord的实体类对象
2006-05-18 16:02
393 查看
ActiveRecord使用ORM的实体类对象之前要先初始化,官方网站上面有这么一句
ActiveRecordStarter.Initialize( source, typeof(Blog) );
如果每个类都要这样初始化才能用的话那就麻烦了。所以它建议你放在Global文件的Application_ Start方法里面。但是使用
ActiveRecordStarter.Initialize( source, typeof(ActiveRecordBase));
这句话的时候提示出错。
You have accessed an ActiveRecord class that wasn't properly initialized. The only explanation is that the call to ActiveRecordStarter.Initialize() didn't include HelloCastle.DAL.PortalUser class
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: Castle.ActiveRecord.Framework.ActiveRecordException: You have accessed an ActiveRecord class that wasn't properly initialized. The only explanation is that the call to ActiveRecordStarter.Initialize() didn't include HelloCastle.DAL.PortalUser class
源错误:
行 64:
行 65: Public Overloads Shared Function FindAll() As PortalUser()
行 66: Return CType(ActiveRecordBase.FindAll(GetType(PortalUser)), PortalUser())
行 67: End Function
行 68:
找了一些代码发现PortalUser也是从ActiveRecordBase继承的没错。后来发现Initialize方法有4种不同的版本。干脆把实体类的Modle的程序集HelloCastle.Model.dll都一起初始化了。
ActiveRecordStarter.Initialize([Assembly].Load("HelloCastle.Model"), source)
它放在Application_ Start方法里面。这下不用每次访问数据实体对象都要重复去初始化了.
ActiveRecordStarter.Initialize( source, typeof(Blog) );
如果每个类都要这样初始化才能用的话那就麻烦了。所以它建议你放在Global文件的Application_ Start方法里面。但是使用
ActiveRecordStarter.Initialize( source, typeof(ActiveRecordBase));
这句话的时候提示出错。
You have accessed an ActiveRecord class that wasn't properly initialized. The only explanation is that the call to ActiveRecordStarter.Initialize() didn't include HelloCastle.DAL.PortalUser class
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: Castle.ActiveRecord.Framework.ActiveRecordException: You have accessed an ActiveRecord class that wasn't properly initialized. The only explanation is that the call to ActiveRecordStarter.Initialize() didn't include HelloCastle.DAL.PortalUser class
源错误:
行 64:
行 65: Public Overloads Shared Function FindAll() As PortalUser()
行 66: Return CType(ActiveRecordBase.FindAll(GetType(PortalUser)), PortalUser())
行 67: End Function
行 68:
找了一些代码发现PortalUser也是从ActiveRecordBase继承的没错。后来发现Initialize方法有4种不同的版本。干脆把实体类的Modle的程序集HelloCastle.Model.dll都一起初始化了。
ActiveRecordStarter.Initialize([Assembly].Load("HelloCastle.Model"), source)
它放在Application_ Start方法里面。这下不用每次访问数据实体对象都要重复去初始化了.
相关文章推荐
- 关于含有对象成员的类如何进行初始化?
- effective c++ 关于c++对象的初始化。
- 关于继承与构造函数重载的问题(初始化子类构造函数中的父类对象)求解答。。。
- c++21、关于类内普通成员和类中其他类对象的初始化
- 关于“用父类创建对象而用子类初始化”的理解
- java编程思想读书笔记(3)--关于对象初始化的一些迷惑
- [深度探索C++对象模型]关于成员初始化列表(member initiallization list)
- c#关于int(或其他类型)的字段在对象初始化时默认初始化问题的解决方法
- UserControl 中包含封装了集合对象的属性被设计器自动初始化所引起的错误!也有关于List的问题
- 关于面对对象过程中的三大架构以及数据访问层(实体类、数据操作类)
- 关于javascript定义并初始化对象的几种方法
- 关于C++中定义对象及对象初始化的方法
- 关于php对象初始化
- 关于java对象初始化的问题
- 关于全局、static对象/变量的初始化问题
- 关于对象初始化内部顺序的个人见解
- 【zz】Singleton#1——关于单件对象初始化的探讨
- 关于对象创建及初始化的面试向理解
- UserControl 中包含封装了集合对象的属性被设计器自动初始化所引起的错误!也有关于List的问题
- 对象初始化过程和关于继承方面的自我总结