![]() ![]() |
|
NHibernate2.x应用:返回DataSet | |
作者:佚名 文章来源:不详 点击数 更新时间:2008/10/22 21:29:38 文章录入:杜斌 责任编辑:杜斌 | |
|
|
在ADO.NET里,要返回DataSet需要使用IDbDataAdapter, 那么通过NHibernate返回DataSet的关键就是如何创建合适的IDbDataAdapter实现类。 在NHibernate里,由IDriver负责创建Connection和Command,我们可以扩展相应的Driver使其能创建DataAdapter,对于SqlClientDriver的扩展类如下: public class ExSqlClientDriver : SqlClientDriver { public IDbDataAdapter CreateDataAdapter() { return new SqlDataAdapter(); } } 对应的配置更改如下: <property name="connection.driver_class">Chapter01.ExSqlClientDriver, Chapter01</property> 主调用代码: // 初始化 Configuration cfg = new Configuration().Configure(); ISessionFactory sf = cfg.BuildSessionFactory(); // 得到扩展的Driver ExSqlClientDriver driver = (ExSqlClientDriver)sf.ConnectionProvider.Driver; // 打开数据库连接 IDbConnection conn = ((ISessionFactoryImplementor)sf).OpenConnection(); // Examda提示:创建Command IDbCommand cmd = conn.CreateCommand(); cmd.CommandText = "select * from infos"; DataSet ds = new DataSet(); // 创建DataAdapter IDbDataAdapter da = driver.CreateDataAdapter(); da.SelectCommand = cmd; // 填充Dataset da.Fill(ds); 来源:考试大 |
|
![]() ![]() |