我们做程序开发的,最烦的就是写实体类,写数据持久化(ORM)的那些语句
比如下面这个实例
- C# code
//1.我们先写实体类 //新闻实体类public class News{ public int Id{get;set;} public string Title{get;set;}}//2.数据操作类//新闻数据操作类public class NewsDAL{ public void Add() { //写sql语句 //写参数,执行sql }}//3.业务逻辑类//新闻数据操作类public class NewsBLL{ public void AddNews() { }}//4.然后在UI层绑定一个实体,调用NewsBLL.AddNews()方法
尽管可能有某些工具帮我们生成实体 或者 DAL类,但是该工具不灵活,某些特殊的要求还是无法快速的实现。
本人一直在思考实现这些的快速的方法,比如说用xml配置文件来表示实体与数据库的映射关系,然后后果往往是舍得其反,反而加重了程序员的负担,他还要来学习你这个配置文件是怎样定义的,扩展性也不好,比如说要同时插入两个实体等等,插入的时候用逻辑业务等
我也用了一段时间nhibernate,发现这个框架太大,往往我们写的程序还没这个框架的体积大,而且nhibernate提供的功能过于庞大,不好上手等,参照nhibernate的特性,晚上突发奇想,模仿nhibernate写了一个orm的辅助类,分享一下,希望得到大家的意见和建议
本类的功能分3个方面:
1.定义实体的特性(如对应的表名 主键名 属性对应的列名)
2.实体和数据库对象的相互转换
3.简单实体的 CRUD操作
------解决方案--------------------------------------------------------
我是楼主,话没说完换了个ID,这个烂论坛,自己发表的不能修改,还只能回复3次,迟早要倒闭
类的定义:
- C# code
using System;using System.Collections.Generic;using System.Linq;using System.Text;using CR;namespace CR.Entity{ /// <summary> /// 新闻信息 /// </summary> [Tab("t_news","newsid",true)] public class News { /// <summary> /// Id /// </summary> [Bind("newsid")] public int Id { get; set; } /// <summary> /// 标题 /// </summary> public string Title { get; set; } /// <summary> /// 内容 /// </summary> public string Content { get; set; } }}
------解决方案--------------------------------------------------------
辛苦了,谢谢分享
------解决方案--------------------------------------------------------
支持分享
------解决方案--------------------------------------------------------
辛苦了,谢谢分享
------解决方案--------------------------------------------------------
分享是美德
------解决方案--------------------------------------------------------
支持分享
------解决方案--------------------------------------------------------
恭喜,接分来了。
------解决方案--------------------------------------------------------
我也自己写了一个orm,功能比你强一些。另外自己写的orm一个很大问题就是,你能像Linq to sql那样返回List<T>吗?在mvc开发中返回DataTable好像有些见笑了
------解决方案--------------------------------------------------------
谢谢分享.
------解决方案--------------------------------------------------------
走过 路过 看过 学过
------解决方案--------------------------------------------------------
楼主对 .net 了解不够。
sql 语句,可以用SqlCommandBuilder 自动生成。
何必自己费尽巴力的拼接sql、SqlParameter,你的大部分代码都可以删除。
------解决方案--------------------------------------------------------
支持分享...
------解决方案--------------------------------------------------------
支持分享...
------解决方案--------------------------------------------------------
过来接分 嘿嘿
------解决方案--------------------------------------------------------
------解决方案--------------------------------------------------------
来看看
------解决方案--------------------------------------------------------
不写实体类,这些代码的优势在哪呢?性能会提高ma?
------解决方案--------------------------------------------------------