Noebe v2.0 类库详解 NoebeManager
介绍
这个类是Noebe的整体控制体,负责初始化Noebe,获得各种有效资源。
NoebeManager API
属性概览 |
|
Pixysoft.Framework.Noebe.Schema.DatabaseSchema |
DatabaseSchema |
Pixysoft.Framework.Noebe.NoebeManager |
|
Pixysoft.Framework.Noebe.NoebeAdapter |
NoebeAdapter |
Pixysoft.Framework.Noebe.NoebeCommand |
NoebeCommand |
Pixysoft.Framework.Noebe.NoebePrimaryKey |
NoebePrimaryKey |
Pixysoft.Framework.Noebe.Querion |
Querion |
Pixysoft.Framework.Noebe.Session |
Session |
Pixysoft.Framework.Noebe.SyncSession |
SyncSession |
Pixysoft.Framework.Noebe.SyncTransaction |
SyncTransaction |
Pixysoft.Framework.Noebe.Transaction |
Transaction |
方法概览 |
|
void |
AddBuffer(string[] tables) |
System.Data.DataSet |
GetEntity() |
System.Data.DataTable |
GetEntity(string tableName) |
void |
Initialize() |
void |
Initialize(string path) |
void |
Initialize(NoebeConfiguration config) |
void |
Initialize(NoebeConfiguration config, DatabaseSchema ds) |
Noebe初始化
初次使用Noebe的时候需要初始化,必须调用Initialize()静态方法。
Noebe初始化的过程:
在初始化过程中任意一步失败都会抛出异常。
Noebe为用户提供了4种初始化方法。包括:
l Initialize(): 无参数初始化,此时Noebe会根据运行环境读取配置文件,默认的运行环境是dll所处的环境。配置文件包括:Noebe.config(必须), Noebe.Schema.config(可选)
l Initialize(string path): 指定路径读取配置文件。
l Initialize(config): 代码初始化,方便讨厌写配置文件的朋友。毕竟有些情况配置文件还是不安全的。
l Initialize(NoebeConfiguration, DatabaseSchema): 代码初始化Noebe配置和数据库架构对象
添加缓存AddBuffer()
用户输入需要缓存的表名,则Noebe能够自动抓取数据库,然后全选表数据,缓存到内存中。
缓存机制说明
Noebe使用MRU算法,即用的最多的数据会被保留下来。同时默认的数据量为每张表50条数据。
获取DataTable: GetEntity()
通过GetEntity()方法能够获得与数据库表结构对应的DataTable对象。
是弱对象,不包含任何的主键、约束等信息。
实质上,DataTable对象是Noebe根据数据库Schema动态生成的。
获取数据库操作对象
数据库操作对象包括Session, Querion等。
这些对象通过接受用户输入的Datatable,然后和Noebe内部的Schema进行比对,当所有结构一致后,再进行数据库相应的操作。
NoebeAdapter和NoebeCommand是作为扩展对象存在,完全模拟了DataAdapter和Command操作。因此操作的输入参数DataTable不需要进行内部schema比对。增加了用户操作的灵活性。
后话
NoebeManager使用了Singleton设计模式,同时保证了线程安全。