.net core3.1 dapper使用(Oracle链接字符串)

历经的艰辛就不多说了(.net 新手 不喜勿喷 欢迎指点) 废话不多说了,直接上正题:
1.首先建一个类来管理数据库连接
public class DbFactory : IDbFactory
{
readonly IOptions _options;
public DbFactory(IOptions options)
{
_options = options;
}
public DbConnection Create(DBType dbtype = DBType.System)
{
DbConnection cnn = null;
DbOption db = _options.Value;
switch (db.DbModel)
{
case DbModel.MySQL:
cnn = new MySqlConnection(db.ConnectionString); Dapper.SimpleCRUD.SetDialect(Dapper.SimpleCRUD.Dialect.MySQL);//因为mysql语句不支持中括号,加上这个设置避免报错
break;
case DbModel.SQLServer:
cnn = new SqlConnection(db.ConnectionString);
break;

            case DbModel.Oracle:
                switch (dbtype)
                {
                    case DBType.System:
                        cnn = new OracleConnection(db.ORACLE_SYSTEM);
                        //cnn.Open();
                        break;
                    case DBType.Forwarder:
                        cnn = new OracleConnection(db.ORACLE_FORWARDER);
                        //这里要注意OracleConnection 引用.net core的 坑!!!
                        //cnn.Open();
                        break;
                }
                break;

            default:
                throw new Exception("please specify DbModel");
        }

        return cnn;
    }
}

在这里插入图片描述

2.在Startup.cs 文件的ConfigureContainer 方法中加入一行代码:
builder.RegisterType().As();
3.DbOption 类定义连接数据库参数
在这里插入图片描述
4.在Startup.cs文件的ConfigureServices方法中注入:
services.Configure(Configuration.GetSection("DbOption"));
5.在appsettings.json文件中
在这里插入图片描述
//这里要注意连接字符串引用 我这里是本地DATA SOURCE=DESKTOP-BCJ2548:1522/TESTFXC
6.下面就是调用了
在这里插入图片描述
7.Ok 测试成功啦!
在这里插入图片描述
8.一起加油哦!

发布了9 篇原创文章 · 获赞 1 · 访问量 1476

猜你喜欢

转载自blog.csdn.net/FengxcLf/article/details/105022586