nuget安装内容 

 1.配置连接字符串 OracleConnectionString这个可用

{

  "Logging": {
    "LogLevel": {
      "Default": "Information",
      "Microsoft.AspNetCore": "Warning"
    }
  },
  "AllowedHosts": "*",

  "DB": {
    "OracleConnStr": "Password=123456;User ID=system;Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.20.13)(PORT=1521)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=XE)));",
    "OracleConnectionString": "data source=192.168.20.13:1521/XE;password=123456;user id=system;Incr Pool Size=5;Decr Pool Size=2;",
    "OracleConnStr1": "Data Source=LINKASIA;User Id=system;Password=123456",
    "MySQLConnStr": "server=127.0.0.1;port=3306;user=root;password=123456; database=spongeglueing;",
    "SqliteDBName": "mydb.db"
  },
  "SerialPort": {
    "Name": "COM!"
  }
}

 2.读取配置文件类


using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.Configuration.Json;

namespace TireDirection.Helper.Settings
{
    /// <summary>
    /// 读取配置信息
    /// </summary>
    public class AppSettingsHelper
    {
        /// <summary>
        /// 
        /// </summary>
        public static IConfiguration Configuration { get; set; }
        static AppSettingsHelper()
        {
            //ReloadOnChange = true 当appsettings.json被修改时重新加载            
            Configuration = new ConfigurationBuilder()
            .Add(new JsonConfigurationSource { Path = "Config\\appsettings.json", ReloadOnChange = true })
            .Build();
        }
    }
}

3.Dapper数据库操作类 

using Dapper;
using Oracle.ManagedDataAccess.Client;
using TireDirection.Helper.Settings;

namespace TireDirection.Helper.DB
{
    public class DapperOracleHelper
    { 
        public class DapperFactory
        { 
            public static readonly string ConnectionStr = AppSettingsHelper.Configuration["DB:OracleConnectionString"] ?? "";
            public static OracleConnection CrateOracleConnection()
            {
                var connection = new OracleConnection(ConnectionStr);
                connection.Open();
                return connection;
            }
        }

        /// <summary>
        /// 执行SQL返回集合
        /// </summary>
        /// <param name="strSql">sql语句</param>
        /// <returns></returns>
        public static List<T> Query<T>(string strSql)
        {
            using (var conn = DapperFactory.CrateOracleConnection())
            {
                return conn.Query<T>(strSql, null).ToList();
            }
        } 

        public static List<T> QuerySqlString<T>(string sqlStr,object param)
        {
            List<T> result = new List<T>();
            using (var conn = DapperFactory.CrateOracleConnection())
            {
                //string query = "SELECT  *  FROM sys_user t where username=:id ";
                //var par = new { id = "admin" };
                //var par = JsonConvert.DeserializeObject(param);
                result = conn.Query<T>(sqlStr, param).ToList();

                // conn.Insert(new SysUser());
                // conn.Update(new SysUser());//根据主键更新
                // conn.Delete(new SysUser()); //根据主键删除
            }
            return result;
        }
        public static int ExecuteNonQuery(string sql, params SQLiteParameter[] ps)
        {
            int result = -1;
            using (var conn = DapperFactory.CrateOracleConnection())
            {
                string query = "SELECT  *  FROM sys_user t where username=:id ";
                var par = new { id = "admin" };
                result = conn.Execute(query, par);

               // conn.Insert(new SysUser());
               // conn.Update(new SysUser());//根据主键更新
               // conn.Delete(new SysUser()); //根据主键删除
            }
            return result;
        }
    }
}

4.操作数据实例 

            public static List<DBTestModel> Test( )
            {
                List<DBTestModel> result = new List<DBTestModel>();
                string SqlStr = @$"Select ID, Name,Value from LINKASIA ";
                try
                {
                    result = DapperOracleHelper.Query<DBTestModel>(SqlStr);

                    SqlStr = @$"Select ID, Name,Value from LINKASIA where ID=:id";
                    var par =   new { id = "1" };
                    result = DapperOracleHelper.QuerySqlString<DBTestModel>(SqlStr, par);
                }
                catch (Exception ex)
                {
                    Log.Logger.Error($"LinkAsiaDB GetAllSpongeGlueing 异常 {ex.Message}");
                }

                return result;
            }

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐