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


    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));

    做个快乐的自己。
  • 相关阅读:
    wide&deep模型演化
    ES6常用知识点小结
    json 的循环输出
    javascript闭包问题
    controller层中,参数的获取方式以及作用域的问题
    SSM整合开发
    Myself
    Hyperledger Fabric相关文件解析
    Fabric1.4源码解析:链码实例化过程
    Fabric1.4源码解析:Peer节点启动过程
  • 原文地址:https://www.cnblogs.com/Jessy/p/1900767.html
Copyright © 2020-2023  润新知