Dlinq对数据库支持上的一个缺陷

Dlinq对数据库支持上的一个缺陷,第1张

Dlinq对数据库支持上的一个缺陷,第2张

在这段时间内,当MudCMS被迁移到。net 3.5平台,发现Dlinq对数据库的支持存在很大缺陷。根据在MSDN上查到的信息,Dlinq目前只支持SQL2000和SQL2005,不能支持其他任何数据库,甚至是自己的Access数据库。这是个大麻烦,我觉得我的CMS支持ACCESS和MySQL。去System.Data.Linq.dll看看你是否能自己写一个数据库适配器。反编译后认为这种可能性不存在。

反编译后发现,如果要自己写一个数据库适配器,要实现以下两个接口,但是微软在这两个接口上加了internal关键字。

内部接口IReaderProvider : IProvider,IDisposable
{
IConnectionManager connection manager { get;}
IDataServices服务{ get}
}
内部接口I provider:IDisposable
{
void clear connection();
ICompiledQuery编译(表达式查询);
void create database();
bool database exists();
void delete database();
iexecutesult Execute(表达式查询);
DbCommand GetCommand(表达式查询);
string GetQueryText(表达式查询);
void Initialize(idata services数据服务,对象连接);
IMultipleResults Translate(db datareader reader);
IEnumerable Translate(Type element Type,db datareader reader);
int command time out { get;设置;}
DbConnection连接{ get}
TextWriter日志{ get设置;}
DbTransaction事务{ get设置;}
}


目前网上关于Dlinq的例子在正式版下无法正常工作。那是因为微软在正式版中将Table类中的void add (tenentity)和void remove (tenentity)方法重命名为void insert onsubmit (tenentity)和void delete onsubmit (tenentity)。


位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » Dlinq对数据库支持上的一个缺陷

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情