在1.2以前的版本中没有考虑到对BLOB的优化,如果一个表中含有BLOB字段,IDBAccesser.GetObjects方法返回的对象中将会直接把Blob读到对应的字段中,这可以通过IDBAccesser的基接口IDBAccesserQuery看出来:
public
interface
IDBAccesserQuery
{
bool
ReviseAObject(
string
where_str,
object
target);
//
使用数据库内容来更新当前对象
object
GetAObject(
string
where_str);
//
ifthereisnoconditionclause,pleaseinput""
object
[] GetObjects(
string
where_str);
DataSetGetDataSet(
string
select_str);
}
在1.3版本中IDBAccesserQuery接口增强如下:
public
interface
IDBAccesserQuery
{
bool
ReviseAObject(
string
where_str,
object
target);
//
使用数据库内容来更新当前对象
object
GetAObject(
string
where_str);
//
ifthereisnoconditionclause,pleaseinput""
object
[] GetObjects(
string
where_str);
object
[] GetObjectsWithoutBlob(
string
where_str);
//
获取的对象中凡是Blob字段都未填充
bool
FillBlobData(
object
obj);
//
填充某个对象的所有Blob字段
DataSet GetDataSet(
string
select_str);
}
通过调用IDBAccesser.GetObjectsWithoutBlob()方法可以在从数据库中读取对象的时候先不加载BLOB字段,只有在必要的时候才调用IDBAccesser.FillBlobData()方法来填充某对象的BLOB字段。
这样即兼顾了效率,又不失灵活性。
想使用1.3版本的朋友,请留下email。







在1.3版本中IDBAccesserQuery接口增强如下:









通过调用IDBAccesser.GetObjectsWithoutBlob()方法可以在从数据库中读取对象的时候先不加载BLOB字段,只有在必要的时候才调用IDBAccesser.FillBlobData()方法来填充某对象的BLOB字段。
这样即兼顾了效率,又不失灵活性。
想使用1.3版本的朋友,请留下email。