C# 自己实现的一套ORM程序附带实体生成工具

程序全部是自己实现的,原理是对sql语句的包装,现在支持mysql和sqlite,可以扩展到现在主流的数据库。

 

程序下载地址:C# 自已实现ORM程序下载

 

实体生成工具下载:实体生成工具下载

 

下面对程序进行介绍。

 

首先添加引用:DB.DAL.dll,MySql.Data.dll,System.Data.SQLite.dll

 

建立数据源:

 

public class dbResource
    {
        public static string TestDataConnStr = ConfigurationManager.ConnectionStrings["TestDataConnStr"].ConnectionString;

        /// 
        /// Test数据库数据源
        /// 
        public static IDataSourceType TestDataDBSource
        {
            get
            {
                IDataSourceType ds = IDataSourceTypeFactory.Create(DataSourceType.MySQL, TestDataConnStr);
                return ds;
            }
        }
    }


在配置文件中添加如下连接字符串:

 

 


    
  

 

 

 

 

 

使用生成工具生成实体类

 

 

使用图例:

 

选择生成的语言及数据库
 

 

生成:

 

 

其中生成的实体类例子如下:

 

[DataContract]
    [Table(TableName = "user")]
    public class drUser
    {
        [DataMember]
        [Column(IsPrimary = true, IsIdentity = true)]
        public int Id { get; set; }
        [DataMember]
        public string Name { get; set; }

        public drUser()
        {
        }
    }

 

 

 

 

以下是对数据库增删改查的使用:

 

           //查询出所有的用户信息
            List list = ORMHelper.GetListBySQL("select * from user", dbResource.TestDataDBSource);

            //根据sql语句查询出用户
            try
            {
                drUser user1 = ORMHelper.GetModelBySQL("select * from user where id = 2", dbResource.TestDataDBSource);
                MessageBox.Show(user1.Name);
            }
            catch
            {
                MessageBox.Show("this is a exception");
            }

            //通过SQL语句修改个人的信息
            ORMHelper.UpdateBySQL("update user set Name='abc' where id=2", dbResource.TestDataDBSource);

            drUser user = new drUser();
            user.Id = 1;
            user.Name = "daaa";
            //根据实体对象更新一条数据
            ORMHelper.UpdateModelById(user, dbResource.TestDataDBSource);

            //根据id删除用户
            drUser user2 = ORMHelper.GetModelBySQL("select * from user where id = 2", dbResource.TestDataDBSource);
            ORMHelper.DeleteModelById(user2, dbResource.TestDataDBSource);

            //根据where条件删除用户
            //ORMHelper.DeleteModel("Id > 3", dbResource.TestDataDBSource);

            List alist = new List();
            for (int i = 4; i < 10; i++) {
                drUser duser = new drUser();
                duser.Id = i;
                duser.Name = "aaa"+i;
                alist.Add(duser);
                 
            }

            //添加一组数据  批量插入数据库
            ORMHelper.InsertList(alist,dbResource.TestDataDBSource);
           
            //根据model实体添加一条记录
            drUser user3 = new drUser();
            user3.Name = "dafa";
            int j = 18;
            ORMHelper.InsertModel(user3, out j, dbResource.TestDataDBSource, false);

 

 

 

http://www.qcdest.com/bbs/IT/20151113616.html

 

 

 

 

你可能感兴趣的:(work,and,study)