1. ORM及代码生成器和插件C#源码(DBFrameworkV4.5.3)

一、使用对象关系映射组件Kenly.DBFramework.dll不用编写任何SQL或者存储过程即可实现下列功能:
1、数据表、视图和存储过程与对象之间的转换。
2、数据表、视图的自定义条件查询。
3、数据表、视图的分页查询。
4、根据ID、主键或自定义条件对数据表进行增、删、改操作。
5、实现一对一、一对多、多对一和多对多的关系映射。
6、支持单个对象和多个对象之间的事务控制。
7、支持查询结果排序。
8、支持查询表达式生成。
9、支持延迟加载。

二、代码生成器
1、根据指定的数据库连接,自动生成数据表、视图和存储过程对应的对象代码(C#代码)。
2、自动生成相关的工程文件,生成完整的业务层项目文件。
3、可以帮助生成自定义查询方法。
4、支持SQLServer2000、SQLServer2005和Oracle代码生成插件,支持插件扩展。

提供
1、对象关系映射组件: Kenly.DBFramework.dll
2、代码生成器源码:Xsd2CS。
3、代码生成器插件源码(支持SQLServer2000、SQLServer2005和Oracle):Plugin。
4、使用手册:DBFramework.Manual V4.5.3.pdf。

下载地址:http://download.csdn.net/source/720607

[Serializable()]
    [Table(TableName = "usyUser")]
    public class BusinessUser : SqlTableGateway<BusinessUser>, ICloneable
    {

public BusinessUser()
        {
            string connectionString = SystemConfig.ConnectionString;
            base.InitializeGateway(connectionString, this);
        }

略.............

#region Properties

[Column(ColumnName = "UserId", IsIdentity = true, IsPrimaryKey = true)]
        public int UserId
        {
            get { return _userId; }
            set { _userId = value; }
        }

[Column(ColumnName = "EmployeeNumber")]
        public string EmployeeNumber
        {
            get { return _employeeNumber; }
            set { _employeeNumber = value; }
        }

[Column(ColumnName = "UserName")]
        public string UserName
        {
            get { return _userName; }
            set { _userName = value; }
        }

Role[] _roles = new Role[0];
      [Relation(RelationType = RelationType.ManyToMany, InterrelationType = typeof(UserRole), ResultOrder = "RoleName ASC")]
        public Role[] Roles
        {
            get { return _roles; }
            set { _roles = value; }
        }

public DataTable RoleTable
        {
            get
            {
                Role role = new Role();
                return role.ToTable(_roles, false);
            }
        }

#endregion //Properties

}

Role role = new Role();
        gvRole.DataSource = role.QueryAll();
        gvRole.DataBind();

Role role = new Role();
        int roleId=1;
        role.RoleId = roleId;
        role.IsActive = false;
        role.PartialUpdateById("IsActive") ;

Role role = new Role();
        int roleId=1;
        role.RoleId = roleId;
        role.RetrieveById();
        role.IsActive = false;
        role.UpdateById() ;

BusinessUser user = new BusinessUser();
        user.UserId = 2;
        user.RetrieveRelationObject(typeof(Role));

转载于:https://www.cnblogs.com/Jessy/archive/2010/12/08/1900767.html

对象关系映射(ORM)及代码生成器和插件C#源码(DBFrameworkV4.5.3)相关推荐

  1. 学习笔记之什么是持久化和对象关系映射ORM技术

    ----------------本文转自:http://www.cppblog.com/javenstudio/articles/541.html--------------------- 何谓&qu ...

  2. 通过java反射实现简单的关于MongoDB的对象关系映射(ORM).

    通过阅读MongoDB  3.2.1的官方文档中关于java 编程发现最新的文档并没有实现对对象到Document的映射,所以自己有了利用反射实现简单的关系映射. 1.定义抽象类:AbstractMo ...

  3. 对象-关系映射ORM(Object Relational Mapping)(转)

    ORM的实现思想就是将关系数据库中表的数据映射成对象,以对象的形式展现 Hibernate在实现ORM功能的时候主要用到的文件有:映射类(*.java).映射文件(*.hbm.xml)和数据库配置文件 ...

  4. python中通过元类(TYPE)简单实现对象关系映射(ORM)

    ORM是创建一个实例对象,用创建他的类名当做数据表名,用创建他的类属性对应数据表的字段,不需要在自己写复杂的sql语句,而是通过对实例对象的操作时,能让代码自动帮我们整理为对应的sql语句. clas ...

  5. orm 对象关系映射

    引用:http://baike.baidu.com/view/197951.htm 对象关系映射(ORM)提供了概念性的.易于理解的模型化数据的方法.ORM方法论基于三个核心原则: 简单:以最基本的形 ...

  6. java对象关系映射ROM

    一.对象关系映射ORM概述 对象关系映射(Object-Relational Mapping,简称ORM)是一种为了解决程序的面向对象模型与数据库的关系模型互不匹配问题的技术:简单的说,ORM是通过使 ...

  7. Object/Relation Mapping 对象关系映射

    对象-关系映射(Object/Relation Mapping,简称ORM),是随着面向对象的软件开发方法发展而产生的.面向对象的开发方法是当今企业级应用开发环境中的主流开发方法,关系数据库是企业级应 ...

  8. 【分享】关于对象关系映射的理解

    对象关系映射(Object Relational Mapping,简称ORM)是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术. 简单的说,ORM是通过使用描述对象和数据库之间映射的元数据 ...

  9. netsuite 数据集成_Java中带有NetSuite数据实体的对象关系映射(ORM)

    netsuite 数据集成 对象关系映射(ORM)技术使使用关系数据源更加容易,并且可以将逻辑业务模型与物理存储模型联系在一起. 遵循本教程,将NetSuite数据的连接集成到基于Java的ORM框架 ...

最新文章

  1. 健身三大供能系统详解
  2. OpenCV中VideoWriter输出视频文件为空或6KB解决方法(java)
  3. 怎么计算信息完整度_德阳冻货运镖怎么计算费用
  4. 基于迁移深度学习的雷达信号分选识别
  5. 【2016年第5期】面向图数据管理系统基准评测的知识图谱统计特征分析
  6. 【Python】基本统计值计算
  7. 消息称高通可供货华为:麒麟处理器真将绝版?
  8. 获取服务器时间的软件如何修改时间,小程序云开发获取服务器时间
  9. Java面试题大全带答案
  10. 基于MDKA5D31-EK_T70开发板的QT示例-demo09:LM75A温度曲线
  11. VBA让Excel数据去重,数量相加
  12. C++超级计算器-课题作业
  13. 系统分析与控制_多智能体协同控制研究中各定位系统分析
  14. 计算机网络自顶向下第一章读书笔记
  15. 我国标准与国际标准的关系
  16. Sil7172中文资料
  17. C语言的return用法
  18. tank game V0.1
  19. 利用Python3.x 删除字符串中的特殊字符——即ASCII控制字符
  20. 妙赞大讲糖:糖友食谱的三不宜

热门文章

  1. 不是每一个缺钱的人都能贷款!
  2. python中常见的流程_Python面试中最常见的25个问题-结束
  3. python多线程写日志_python 应用logging多线程写多个log文件
  4. mysql ehcache_MyBatis使用Ehcache作为二级缓存
  5. python是一种动态语言这意味着_Python如何能成为全球最受欢迎的编程语言?该不该学Python?...
  6. a标签隐藏真实地址_家庭影院布线非常杂乱应该怎么补救?A/V电缆管理的7个技巧...
  7. java编程能做什么_学习Java编程能做什么工作?
  8. 介绍几个医学图像处理会议
  9. 【GamePlay】入门篇
  10. nginx配置文件nginx.conf