文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

C#实战:Dapper操作PostgreSQL笔记

2024-11-30 12:30

关注

PostgreSQL组成

数据库引擎:PostgreSQL数据库引擎是一组CLI和命令行工具,用于管理和查询数据库。它使用C语言编写,并提供了许多高级功能,例如复制,分区,事务,视图和索引等。

数据库存储引擎:PostgreSQL的存储引擎是一组用于存储和检索数据的API。它们负责管理数据的物理存储,并与操作系统和文件系统交互。PostgreSQL支持多种存储引擎,例如Btree,Hash,GIS和qtree等。

数据库管理器:PostgreSQL数据库管理器是一个用户界面工具,可以通过命令行或图形用户界面(GUI)进行访问。它提供了许多功能,例如创建,修改和删除数据库,创建和管理表和索引,备份和恢复数据库,检查和修复错误等。

插件和扩展:PostgreSQL提供了许多插件和扩展,用于扩展其功能和用途。这些插件和扩展可以用于各种目的,例如提高性能,管理用户身份验证,连接到外部资源等。

PostgreSQL的主要优点

可靠性:PostgreSQL是一个高可靠性的数据库系统,具有多种容错和故障恢复机制。

可扩展性:PostgreSQL可以轻松地扩展,可以在一个或多个节点上运行,并使用分区和复制技术来水平扩展。

性能:PostgreSQL在多个方面提供了高性能,例如使用行级锁定,分区表和分区索引等技术来优化查询性能。

安全性:PostgreSQL提供了多种安全措施,例如用户身份验证,数据加密和备份,以确保数据安全。

社区支持:PostgreSQL拥有庞大的开发和用户社区,可以提供丰富的文档,支持和资源。

社区官网:http://www.postgres.cn/index.php/v2/home

PostgreSQL的使用场景

数据库应用程序:PostgreSQL可用于构建各种类型的数据库应用程序,例如企业应用程序,电子商务应用程序和金融应用程序等。

电子商务:PostgreSQL是许多电子商务网站的首选数据库,例如Amazon和eBay。

门户网站:PostgreSQL可用于构建门户网站,例如Wikipedia和Google。

游戏:PostgreSQL可用于构建游戏服务器,例如World of Warcraft和Counter-Strike: Global Offensive。

科学计算:PostgreSQL是许多科学计算应用程序的首选数据库,例如Apache Spark和TensorFlow。

媒体和娱乐:PostgreSQL可用于构建媒体和娱乐应用程序,例如Netflix和Hulu。

金融服务:PostgreSQL是许多金融服务应用程序的首选数据库,例如ING Direct和Capital One 360。

其他应用程序:PostgreSQL适用于各种应用程序和场景,例如医疗保健,物流,教育和政府等。

示例

今天给大家分享通过Dapper来操作PostgreSQL数据库。

首先新建一个控制台项目,开发框架是NetFrameWork v4.5.2

1、安装dapper,目前本案例安装的版本是1.50.2

2、安装PostgreSQL驱动

nuget直接搜索 npgsql 这里安装的版本是4.0.0 

3、数据库链接示例

建议大家写在配置文件里面,这里只做演示使用

public string GetConnectioning(string servername, string uid, string pwd, string db, string port)
        {
            return string.Format("host={0};User ID={1};password={2};database={3};port={4};pooling=false;", servername, uid, pwd, db, port);
        }

4、通过SQL查询数据列表写法

public List GetList(string conStr, string sql)
        {  

            using (NpgsqlConnection connection = new NpgsqlConnection(conStr))
            {
                var list = connection.Query(sql).ToList();
                return list;
            }

        }

5、插入示例写法

public int Insert(string conStr)
        {

            int result = 0;
            try
            {
                using (NpgsqlConnection connection = new NpgsqlConnection(conStr))
                {                 
                    var sql = "insert into t_user(name, age, address, hobby) values(@a1, @b1, @c1, @d1), (@a2, @b2, @c2, @d2)";
                    DynamicParameters dynamicParameters = new DynamicParameters();
                    dynamicParameters.Add("a1", "value");
                    dynamicParameters.Add("b1", "value");
                    dynamicParameters.Add("c1", "value");
                    dynamicParameters.Add("d1", "value");
                    dynamicParameters.Add("a2", "value");
                    dynamicParameters.Add("b2", "value");
                    dynamicParameters.Add("c2", "value");
                    dynamicParameters.Add("d2", "value");                   
                    result = connection.ExecuteScalar(sql, dynamicParameters);
                }
            }
            catch
            {

            }
            return result;
        }
来源:小明互联网技术分享社区内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯