HTML5技术

升讯威ADO.NET增强组件(源码):送给喜欢原生ADO.NET的你 - sheng.chao(4)

字号+ 作者:H5之家 来源:H5之家 2016-12-20 11:01 我要评论( )

连接的写入操作时, 并不要求传入的参数是同样类型的 ,也就是说可以传入多个不同类似的实体对象,如同时传入User和Order,升讯威ADO.NET增强组件也会将其封装为事务执行,要么全部写入成功,要么回滚。 b) 复杂复

连接的写入操作时,并不要求传入的参数是同样类型的,也就是说可以传入多个不同类似的实体对象,如同时传入User和Order,升讯威ADO.NET增强组件也会将其封装为事务执行,要么全部写入成功,要么回滚。

 

b) 复杂复合操作

对于相对复杂的数据库事务操作,可使用 SQL 语句构造器,分别构造 SqlExpression 对象,将其按执行顺序放入集合中,通过 ExcuteSqlExpression 执行即可。

public void ExcuteSqlExpression(List<SqlExpression> sqlExpressionList)

这种方式执行的多个 SqlExpression 对象,亦封装为事务进行执行。

 

四、原生操作

升讯威ADO.NET增强组件支持对数据库进行原生操作,在此基础之上,结合上述功能,实现简单高效高灵活性的数据库操作。

public int ExecuteNonQuery(string commandText) public int ExecuteNonQuery(string commandText, List<CommandParameter> parameterList) public int ExecuteNonQuery(CommandType commandType, string commandText, List<CommandParameter> parameterList) public object ExecuteScalar(string commandText) public object ExecuteScalar(string commandText, List<CommandParameter> parameterList) public object ExecuteScalar(CommandType commandType, string commandText, List<CommandParameter> parameterList) public DataSet ExecuteDataSet(string commandText) public DataSet ExecuteDataSet(string commandText, string tableName) public DataSet ExecuteDataSet(CommandType commandType, string commandText, string tableName) public DataSet ExecuteDataSet(string commandText, List<CommandParameter> parameterList, string tableName) public DataSet ExecuteDataSet(CommandType commandType, string commandText,List<CommandParameter> parameterList, string tableName)

 

综上所述,升讯威ADO.NET增强组件强调的并非实体类与数据库表结构的强关联,而是通过与内存数据集的动态映射,将数据库操作时大量的重复劳动自动化,对于复杂数据库操作,继续使用原生 SQL,存储过程,自定义函数,视图等。

这种方式结合了 ORM 自动化的优点,又充分利用了数据库原生操作的强大功能,使数据层的开发轻松,高效,高质量。将简单的,重复的体力劳动,交由程序自动化处理,复杂业务场景由人工处理,并将数据映射,取/赋值等重复劳动,自动化处理。

 

以上设计实现难免存在考虑不周的情况,希望和大家多多交流。

欢迎加我QQ交流探讨,共同学习:279060597,另外我在南京,有南京的朋友吗?

 

博文中没有插入附件的功能,需要源代码的朋友也可通过QQ索取或评论区留下你的邮件地址。

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • 升讯威微信营销系统开发实践:(3)中控服务器的设计 .Net 还是 Java? - sheng.chao

    升讯威微信营销系统开发实践:(3)中控服务器的设计 .Net 还是 Java

    2016-08-26 16:00

  • html5增强的页面元素 - Honker书生

    html5增强的页面元素 - Honker书生

    2016-06-16 11:00

  • 5个CSS3技术实现设计增强 - jerrylsxu

    5个CSS3技术实现设计增强 - jerrylsxu

    2016-05-09 14:00

  • 使用ARIA角色增强可访问性 - 易天曦小盆友

    使用ARIA角色增强可访问性 - 易天曦小盆友

    2015-11-20 11:34

网友点评