首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏技术文章

    C#实现 IDbConnection IDbCommand 等相关通用数据接口

    3、 DataParameter 用于表示Command命令对象需要的参数设置,虽然这是一个可选项,但在实际的应用中几乎都会使用到 ADO.NET 中的数据提供者对象提供了IDbConnection System.Data.OracleClient; using Dm; using System.Collections; GetConnection方法 GetConnection 方法返回 System.Data.IDbConnection oracle"、 "dm8",其它字符串均视为 MS SQL Server 2 ConnectionString string 对应数据库的连接字符串 实现代码如下: public System.Data.IDbConnection GetConnection(string DbServerType,string ConnectionString) { IDbConnection con = null; switch (DbServerType.ToLower ArrayList里,请注意参数为实体数据参数对象,如 MS SQL Server ,请传递如下代码: ArrayList.Add(new SqlParameter("参数名",参数值)); 4 con IDbConnection

    42410编辑于 2024-06-20
  • 来自专栏全栈文档库

    C#-Dapper使用教程与原理详解

    它通过扩展IDbConnection接口,使开发者能够方便地执行SQL查询,并将查询结果映射到对象模型中。2. Dapper原理解析Dapper的核心原理是通过扩展方法来简化数据访问过程。 它的主要工作流程如下:建立数据库连接:使用ADO.NET的IDbConnection接口建立数据库连接。执行SQL查询:通过Dapper提供的扩展方法(如Query、Execute等)执行SQL查询。 using (IDbConnection db = new SqlConnection(connectionString)){ string sql = "INSERT INTO Students using (IDbConnection db = new SqlConnection(connectionString)){ string sql = "UPDATE Students SET using (IDbConnection db = new SqlConnection(connectionString)){ string sql = "DELETE FROM Students

    1.8K21编辑于 2024-07-29
  • 来自专栏跟着阿笨一起玩NET

    C#/.NET/.NET Core Dapper 批量删除、新增、修改说明

    } ​4、新增方法(单体、批量)​ 单体: public ActionResult GetDapper(CarModel carModel) {   try   {     using (IDbConnection failed");   } } 批量: public ActionResult GetDapper(List<CarModel> carModel) {  try   {     using (IDbConnection Json("failed");   } } ​5、删除方法(单体、批量) 单体: public static int Delete(CarModel carModel) {   using (IDbConnection , carModel);   } } ​6、更新方法(单体、批量)​ 单体: public static int Update(CarModel carModel) {   using (IDbConnection { ids }).ToList();   } } 9、多语句操作 public ActionResult QueryMultiple() {   try   {     using (IDbConnection

    2.2K20编辑于 2023-03-09
  • 来自专栏全栈程序员必看

    抽象工厂模式与工厂方法模式有哪些不同_工厂方法和抽象工厂

    while(reader->Read()){ } } } 抽象工厂 Abstract Factory //数据库访问有关的基类 class IDBConnection }; class IDBommand{ }; class IDataReader{ } class IDBFactory{ public : virtual IDBConnection 0; virtual IDataReader *CreateDataReader() = 0; } //支持SQL Server class SqlConnection : public IDBConnection ()...; virtual IDataReader *CreateDataReader()...; } //支持Oracle class OracleConnection : public IDBConnection private: IDBFactory * factory; public: vector<EmployeeDAO> GetEmployees(){ IDBConnection

    48230编辑于 2022-09-22
  • 来自专栏不做码农的开发者

    C# 数据操作系列 - 17 Dapper ——号称可以与ADO.NET 同台飙车的ORM

    我们来看一下Query方法的相关声明: public static IEnumerable<dynamic> Query(this IDbConnection cnn, string sql, object commandType = null); public static IEnumerable<T> Query<T>(this IDbConnection cnn, string sql, object commandType = null); public static IEnumerable<TReturn> Query<TReturn>(this IDbConnection cnn, string 一共有四种方式获取单数据: public static T QueryFirst<T>(this IDbConnection cnn, string sql, object param = null, commandType = null); public static T QueryFirstOrDefault<T>(this IDbConnection cnn, string sql, object

    2.5K40发布于 2020-05-29
  • 来自专栏.NET开发那点事

    使用DapperExtensions实现简单仓储

    Dapper是一个轻量级的ORM框架,它只是一个IDbConnection的扩展文件。所以我们需要手写很多SQL,但是写CRUD的代码总是很无趣的。所有就有了DapperExtensions。 class ConnectionFactory { public static IDbConnection CreateConnection<T>() where T:IDbConnection ,new () { IDbConnection connection = new T(); connection.ConnectionString ConnectionConfig.ConnectionString; connection.Open(); return connection; } public static IDbConnection

    88710编辑于 2022-05-07
  • 来自专栏痴者工良

    C# 从代码入门 Mysql 数据库事务

    连接对象开启,只能作用于当前 IDbConnection 。 可是问题来了,因为是在 TransactionScope 中创建 IDbConnection 并打开连接,也就是说 TransactionScope 作用域范围大于 IDbConnection ,那么 ,并且两个 IDbConnection 都插入了数据。 但是 BeginTransaction() 是使用 IDbConnection.BeginTransaction() 创建的,不能跨 IDbConnection 使用。 当然,即使不是同一个 IDbConnection 也是可以的。

    93410编辑于 2023-12-14
  • 来自专栏Vincent-yuan

    asp.net core 系列之webapi集成Dapper的简单操作教程

    程序包管理器控制台 进行安装 Install-Package Dapper 5.使用Dapper   Dapper的使用需要下面三步: 使用连接字符串( connection string )创建一个 IDBConnection ; 24 } 25 } 26 27 public IEnumerable<Product> GetAll() 28 { 29 using (IDbConnection Products"); 33 } 34 } 35 36 public Product GetByID(int id) 37 { 38 using (IDbConnection FirstOrDefault(); 44 } 45 } 46 47 public void Delete(int id) 48 { 49 using (IDbConnection id }); 55 } 56 } 57 58 public void Update(Product prod) 59 { 60 using (IDbConnection

    2.1K20发布于 2019-09-10
  • 来自专栏技术文章

    C#利用IDbCommand实现通用数据库脚本执行程序

    生成数据集对象需要利用 ADO.NET 中的数据提供者对象包括IDbConnection、IDbCommand、IDbDataParameter等,如何使用这些对象请参考我的文章: 《C#实现 IDbConnection ="") { strConn=ConnString; } System.Data.IDbConnection Conn=GetConnection(DbServerType,strConn if(Conn.State==ConnectionState.Open) { Conn.Close(); } } } public System.Data.IDbConnection GetConnection(string DbServerType,string ConnectionString) { IDbConnection con = null; switch return con; } public IDbCommand GetCommand(string dbservertype,string cmdText,ArrayList paras,IDbConnection

    39710编辑于 2024-06-20
  • 来自专栏Java架构师必看

    写一个通用数据访问组件

    例如SqlConnection, OleDbConnection, and OdbcConnection类就是从IdbConnection接口继承下来的。 下面就是这两个方法的定义 public IDbConnection GetConnection(int connType, string connString) public IDbDataAdapter GetDataAdapter(int connType, string connString, string sql) 正如你你所见,我们用IdBConnection取代connection和一个数据提供者相连 public IDbConnection GetConnection(int connType, string connString) { switch(connType) { case private string connString, sql; IDbConnection conn = null; IDbDataAdapter adapter = null; 下面就是connect

    77430发布于 2021-03-22
  • 来自专栏技术文章

    C# Web控件与数据感应之 ListControl 类

    数据提取:在这里我们以能够支持 Oracle 9i、MS SQL Server 2016、国产达梦数据 8 的通用数据库内容提取方法为例, 生成数据源需要利用 ADO.NET 中的数据提供者对象包括IDbConnection 、IDbCommand、IDbDataParameter等,如何使用这些对象请参考我的文章: 《C#实现 IDbConnection / IDbCommand 等相关通用数据接口》 数据感应通用方法 设计 object.Items.Insert (0,new ListItem(allownulltext,allownullvalue)); } }//simpleDataList public System.Data.IDbConnection GetConnection(string DbServerType,string ConnectionString) { IDbConnection con = null; switch } return con; } public IDbCommand GetCommand(string dbservertype,string cmdText,ArrayList paras,IDbConnection

    44010编辑于 2024-06-20
  • 来自专栏技术文章

    C# Web控件与数据感应之 Control 类

    数据提取:在这里我们以能够支持 Oracle 9i、MS SQL Server 2016、国产达梦数据 8 的通用数据库内容提取方法为例, 生成数据源需要利用 ADO.NET 中的数据提供者对象包括IDbConnection 、IDbCommand、IDbDataParameter等,如何使用这些对象请参考我的文章: 《C#实现 IDbConnection / IDbCommand 等相关通用数据接口》 simpleDataListEx ="") { strConn=ConnString; } System.Data.IDbConnection Conn=GetConnection(DbServerType,strConn GetConnection(string DbServerType,string ConnectionString) { IDbConnection con = null; switch } return con; } public IDbCommand GetCommand(string dbservertype,string cmdText,ArrayList paras,IDbConnection

    74310编辑于 2024-06-20
  • 来自专栏不做码农的开发者

    C# 数据操作系列 - 18 让Dapper更强的插件

    前言 在前一篇中我们讲到了Dapper的应用,但是给我们的感觉Dapper不像个ORM更像一个IDbConnection的扩展。是的,没错。 那么接下来,我们看看它扩展了哪些方法: 插入单个对象: public static long Insert<T>(this IDbConnection connection, T entityToInsert 删除方法有两个: public static bool Delete<T>(this IDbConnection connection, T entityToDelete, IDbTransaction commandTimeout = null) where T : class; public static bool DeleteAll<T>(this IDbConnection connection 也就是说,Dapper对IDbConnection扩展的方法,在这个包对IDbTranscation也扩展了响应的方法: ? 3.

    2.2K10发布于 2020-05-29
  • 来自专栏.NET开发那点事

    让 AI 为你写代码 - 体验 Github Copilot

    再来试试使用 dapper 的写法 //使用dapper查询用户 public static List<User> GetUserListDapper() { using (IDbConnection 让我们加大难度,来个连接跟分组统计人数 //查询2020年每个班级学生的人数 public static void GetClassStudentCount() { using (IDbConnection get; set; } } //student的新增操作 public static void AddStudent(student s) { using (IDbConnection } } //student的更新操作 public static void UpdateStudent(student s) { using (IDbConnection ); } } //student的删除操作 public static void DeleteStudent(int id) { using (IDbConnection

    1.4K20发布于 2021-11-08
  • 来自专栏不做码农的开发者

    C# 数据操作系列 - 2. ADO.NET操作

    使用ADO.NET 操作需要的步骤 使用ADO.NET操作数据库,先需要一个连接也就是 IDbConnection实例,然后使用IDbCommand执行,通过 IDataReader读取数据。 先来简单介绍一下上面提到的接口: a.IDbConnection 表示一个与数据源的开放连接,并由访问关系数据库的.NET 数据提供程序实现,也就是说这只是一个接口,具体的实现得看具体的数据库。 与IDbConnection一致,也是一个接口。 执行SQL: var connectStr = ""; IDbConnection connection = new SqlConnection(connectStr); IDbCommand command 删除记录 var sql = "delete table demo where name = ‘测试’"; IDbConnection connection = new SqlConnection(connectStr

    2.2K20发布于 2020-05-14
  • 来自专栏程序员宇说

    ASP.NET Core 实战:基于 Dapper 扩展你的数据访问方法

    我们知道,Dapper 这个 ORM 主要是通过扩展 IDbConnection 接口,从而给我们提供附加的数据操作功能,而我们在创建数据库连接对象时,不管是 SqlConnection 还是 MySqlConnection 最终对于数据库最基础的操作,都是继承于 IDbConnection 这个接口。 public interface IDataAccess { /// 关闭数据库连接 bool CloseConnection(IDbConnection connection); /// 数据库连接 IDbConnection DbConnection(); /// 执行SQL语句或存储过程返回对象 T Execute<T>(string sql, object ///

    /// 创建数据库连接 /// /// <returns></returns> public IDbConnection DbConnection()

    2.3K30发布于 2019-09-11
  • 来自专栏技术文章

    C# 利用IDbDataAdapter / IDataReader 实现通用数据集获取

    生成数据集对象需要利用 ADO.NET 中的数据提供者对象包括IDbConnection、IDbCommand、IDbDataParameter等,如何使用这些对象请参考我的文章: 《C#实现 IDbConnection GetDataSet(string DbServerType,string strConn,string _sql,ArrayList paras,CommandType ct) { System.Data.IDbConnection string DbServerType,string strConn,string _sql, ArrayList paras, CommandType ct) { System.Data.IDbConnection view=netcore-3.1 IDbConnection 接口 (Microsoft.ReportingServices.DataProcessing) | Microsoft Learn IDbConnection

    55110编辑于 2024-06-20
  • 来自专栏.NET5

    [译]Dapper教程

    Dapper通过扩展IDbConnection提供一些有用的扩展方法去查询您的数据库。 Dapper是如何工作的 它可以分为三个步骤: 创建一个IDbConnection接口对象; 编写一个查询SQL来执行CRUD操作; 将查询SQL作为Execute方法的参数传递。 方法 Dapper会用以下几个方法扩展您的IDbConnection接口: Execute Query QueryFirst QueryFirstOrDefault QuerySingle QuerySingleOrDefault

    1.8K30发布于 2018-09-05
  • 来自专栏me的随笔

    ASP.NET MVC5 实现分页查询

    PageDataCount + 1; int endLine=startLine + PageDataCount - 1; 对于数据库的查询操作使用轻量级ORM框架Dapper来实现,具体代码如下: protected IDbConnection CreateConnection() { IDbConnection dbConnection = new SqlConnection(ConnectionString); dbConnection.Open return dbConnection; } //获取数据库中数据的总条数 public virtual int QueryDataCount(string tableName) { using (IDbConnection startline < 0) { throw new ArgumentOutOfRangeException("结束行号不得小于起始行号"); } using (IDbConnection

    3.6K30发布于 2018-09-05
  • 来自专栏C#

    关于Dapper.NET的相关论述

    Dapper.Net通过扩展方法将两个映射函数添加到IDbConnection接口,这两个函数都命名为ExecuteMapperQuery。 Dapper.Net也假定连接已打开并准备就绪,Dapper.NET通过对IDbConnection接口进行扩展。 1.Query()方法: Query<T>(this IDbConnection cnn, string sql, object param = null, IDbTransaction 该方法是Query()方法的泛型方法,有7个参数,第一个参数为IDbConnection扩展类,表示对IDbConnection接口进行扩展,该方法使用了可选参数,提高方法的扩展性。 该方法是IDbConnection的扩展方法,CommandDefinition表示sql的相关操作对象,Type表示传入的一个有效的类型。

    1.6K70发布于 2018-01-04
领券