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

MIT
C# .NET
Windows
2017-06-25
bouyeijiang

1、.net 数据库访问通信接口封装,支持 ORM 和 ado.net 方式;ado.net(包含)支持 SQL server,DB2,Oracle,MySQL,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; }
        }
加载中

评论(1)

月渊
和servicestack.ormlite的优势在哪?好的话可能会换

Bouyei.DbFactory 1.1.6714.22189 发布,修复bug等

Bouyei.DbFactory 1.1.6714.22189 发布,更新内容: 1、调整mysql 批量入库接口方式。 2、调整各个数据库适配器的引用方式。 3、修复entity framework 再web mvc项目下实体映射方式和bug问题。...

05/20 12:33

Bouyei.DbFactory 1.1.6671 版本升级

Bouyei.DbFactory —— C# 多种数据库通用访问接口,支持 EF 和 Ado.net 两种模式。 同时支持 sql server,mysql,oracle,sqlite,db2 等多种数据库类型,支持 .net framework 和 .net core 平台...

04/07 23:09

通用数据库接口 Bouyei.DbFactory 支持 .net core

Bouyei.DbFactory —— C# 多种数据库通用访问接口,支持 EF 和 Ado.net 两种模式。 同时支持 sql server,mysql,oracle,sqlite,db2 等多种数据库类型,支持 .net framework 和 .net core 平台...

03/29 10:32

Bouyei.DbFactory 增加数据库表同步

.net 多数据库访问通用接口封装,支持ORM和 ado.net 方式; ado.net支持 SQL server,DB2,Oracle,MySQL,access 等.... ORM支持sql server; 更新内容: 1、优化调整代码结构和可能的事务b...

2017/12/05 20:36

Bouyei.DbFactory(多种数据库通用sdk)优化

.net 多数据库访问通信接口封装,支持 entity framework 和 ado.net 方式,数据库支持 SQL server,DB2,Oracle,MySQL,access 等.... 更新内容: 1、优化ormProvider接口update、insert的支...

2017/10/17 22:07

.net 多种关系型数据库通用连接池升级

该库支持支持ado.net和ORM 基于entity framework 访问数据库,ado.net支持多种数据库访问,如:sql server,db2,oracle,mysql,access等多种数据库,提供批量入库bulkcopy方法实现,目的是针对大...

2017/08/28 21:50

.NET 多种数据库访问通用库 DbProviderFactory 更新

该库支持支持ado.net和ORM 基于entity framework 访问数据库,ado.net支持多种数据库访问,如:sql server,db2,oracle,mysql,access等多种数据库,提供批量入库bulkcopy方法实现,目的是针对大...

2017/08/23 19:29

没有更多内容

加载失败,请刷新页面

没有更多内容

暂无问答

简单工厂模型到实际应用的进化

只在说明书写代码时的过程,简单工厂的产生,简单工厂的优缺点,抽象工厂的产生,优缺点。让基础变得更实际。让那些网络里只写代码碎片,只是复制黏贴他人结论的人去死吧。

2016/07/14 16:14
4
0
无法将类型为“Oracle.DataAccess.Client.OracleParameter”的对象强制转换为类型“Oracle.DataAccess.Client.OracleParamet...

IDbDataParameter[] dbParameters 以接口方式使用。 public override DbProviderFactory GetInstance() { return DbProviderFactories.GetFactory("Oracle.DataAccess.Client"); } 无法将类型...

2014/04/28 17:12
34
0
使用ORM Profiler分析数据访问性能

Solutions Design公司发布了ORM Profiler[1],这是一款旨在帮助提高数据访问层性能的工具。它会跟踪和记录ADO.NET调用,以便开发者可对他们的数据访问进行分析,进而发现其中的潜在问题。 OR...

2011/10/20 15:04
78
0
TianvData免费发布并且开源下载

前言: 从接触ASP.NET开始, 数据库的操作就已经成为了所有网站项目共同的部分, 经历了许多方式, 走了不少弯路, 参考了很多别人的代码(特别喜欢subsonic),也该把自己的发布出来, 给大家...

2013/04/04 15:06
45
0
谈谈基于SQL Server 的Exception Handling[中篇]

三、 TRY CATCH & Return 在上面一节中,我通过RAISERROR重写了创建User的Stored procedure,实际上上面的Stored procedure是有问题的。我之所以没有立即指出,是因为这是一个很容易犯的错误...

2016/06/28 15:15
4
0
SQLite数据库中用insert同时插入多条记录的方法和效率比较

Android开发中我们常会遇到这样一种情况:在建立一个SQLite数据库时,想同时插入大量数据。那么应该怎么做呢? 下面笔者以插入20条记录为例: 将同时插入大量的数据写成一条SQL语句 最笨的方...

2014/06/19 00:26
13
0
SQLite数据库中用insert同时插入多条记录的方法和效率比较

Android开发中我们常会遇到这样一种情况:在建立一个SQLite数据库时,想同时插入大量数据。那么应该怎么做呢? 下面笔者以插入20条记录为例: 将同时插入大量的数据写成一条SQL语句 最笨的方...

2014/06/19 01:10
23
0
谈谈分布式事务之一:SOA需要怎样的事务控制方式

在一个基于SOA架构的分布式系统体系中,服务(Service)成为了基本的功能提供单元,无论与业务流程无关的基础功能,还是具体的业务逻辑,均实现在相应的服务之中。服务对外提供统一的接口,服...

2015/01/20 16:53
29
0

没有更多内容

加载失败,请刷新页面

没有更多内容

返回顶部
顶部