.net 多种数据库统一接口 Bouyei.DbFactory

码农软件 · 软件分类 · 常用工具包 · 2019-08-13 14:12:17

软件介绍

1、.net 数据库访问通信接口封装,支持 ORM 和 ado.net 方式;ado.net(包含)支持 SQL server,DB2,Oracle,MySQL,Postgresql,access 等;

2、支持.net Core 2.0

2、支持数据库表双向同步

       static void Main(string[] args) 
        {
            ////ado.net 使用例子
            string connectionString = string.Empty;
            AdoProvider dbProvider = AdoProvider.CreateProvider(connectionString,ProviderType.SqlServer);
            var adort = dbProvider.Query(new DbExecuteParameter()
            {
                CommandText = "select * from user"
            });

            //ORM 使用例子
            IOrmProvider ormProvider = OrmProvider.CreateProvider("DbConnection");
            try
            {
                User item = ormProvider.GetById(1);
                UserDto ud = new UserDto()
                {
                    UserName = "http://aileenyin.com/"
                };

                var query = ormProvider.Query().FirstOrDefault();

                //使用mapper修改对象
                EntityMapper.MapTo(ud, item);
                ormProvider.Update(item);
                //保存修改
                int rt = ormProvider.SaveChanges();
            }
            catch(Exception ex)
            {
                Console.Write(ex.Message);
            }

            //数据库表同步
            ListtableSchema = new List();
            tableSchema.Add(new SyncTableSchema()
            {
                TableName = "user",
                Columns = new List() {
                    new SyncColumnName("name"){ DataType="nvarchar",Size=50},
                    new SyncColumnName("id"){ DataType="int", IsPrimaryKey= true, IncrementStart=1, IncrementStep=1,Size=4},
                    new  SyncColumnName("no"){ DataType="int",Size=4},
                    new SyncColumnName("age"){DataType="int",Size=4 }
                }
            });

            string sourceConnString = "Server=127.0.0.1;Database=A;User Id=sa;Password=bouyei;";
            string targetConnString = "Server=127.0.0.1;Database=B;User Id=sa;Password=bouyei;";
            dbSyncProvider = DbSyncProvider.CreateProvider(sourceConnString, targetConnString,
                "ScopeName", tableSchema);

            //清空同步记录设置 需要重新初始化设置
            dbSyncProvider.DeprovisionScope();

            //重设同步记录设置 初次使用需要初始化
            // dbSyncProvider.ProvisionScope(null);

            dbSyncProvider.ProvisionScope(new List() {
                 new SyncFilterSchema(){
                      FilterColumns=new List(){"[age]"},
                      FilterClause="[side].[age]>20"
                 }
            });

            var rt = dbSyncProvider.ExecuteSync(new SyncParameter()
            {
                Direction = SyncDirectionType.Upload,
            });

            Console.WriteLine("beginTime" + rt.SyncStartTime);
            Console.WriteLine("endTime" + rt.SyncEndTime);
            Console.WriteLine("UploadChangesApplied" + rt.UploadChangesApplied);
            Console.WriteLine("UploadChangesTotal" + rt.UploadChangesTotal);
        }
        class UserDto
        {
           public string UserName { get; set; }

            public string Pwd { get; set; }
        }

本文地址:https://codercto.com/soft/d/12277.html

谁排第一

谁排第一

Amy N. Langville、Carl D. Meyer / 郭斯羽 / 机械工业出版社 / 2014-6 / 49

《谁排第一?关于评价和排序的科学》是首个关于评分和排名科学的著作。它是搜索排序姊妹篇的第二本。本书主要内容有:排名概述、梅西法、科利法、基纳法、埃洛体系、马尔可夫法、攻防评分法、基于重新排序的排名方法、分差、用户偏好评分、处理平局、加入权重、“假如……会怎样”的问题与敏感性、排名聚合、比较排名的方法、数据等。 《谁排第一?关于评价和排序的科学》可作为数学、计算机、网络技术、管理学和数据科学等......一起来看看 《谁排第一》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器