Dapper SimpleCRUD Demo

摘要:
使用系统;使用TestDapper。常见的使用Dapper;使用System.Data。SqlClient;使用System.Collections。通用的使用系统。Linq;使用系统。反射namespaceTestDapper.ConsoleHelper{[Table(“User”)]publi
using System;
using TestDapper.Common;
using Dapper;
using System.Data.SqlClient;
using System.Collections.Generic;
using System.Linq;
using System.Reflection;

namespace TestDapper.ConsoleHelper
{
    [Table("User")]
    public class User
    {
        [Column("user_id"), Key]
        public int UserId { get; set; }
        [Column("user_name")]
        public string UserName { get; set; }
        public string password { get; set; }
        [Column("mobile_phone")]
        public string MobilePhone { get; set; }
        [Editable(false)]
        public string NameAndPhone { get { return string.Format("{0}:{1}", UserName, MobilePhone); } }
        [ReadOnly(true), Column("created")]
        public DateTime Created { get; set; }
        [ReadOnly(true), Column("modified")]
        public DateTime Modified { get; set; }
    }
    class Program
    {

        private static string sqlconnStr = "Data Source=(local);Initial Catalog=XD;User Id=sa;Password=skyjiushiwo;pooling=true;max pool size=512";

        static void Main(string[] args)
        {
            Console.WriteLine("Hello World!");

            SimpleCRUD.SetDialect(SimpleCRUD.Dialect.SQLServer);
            using (var db = new SqlConnection(sqlconnStr))
            {
                var user1 = db.Get<User>(1000);
                if (user1 != null) {
                    Console.WriteLine($"{user1.UserId} {user1.UserName} {user1.password} {user1.MobilePhone}");
                }

                var firstCount = db.RecordCount<User>();
                Console.WriteLine($"第一次找到{firstCount}个用户");

                //var UserId = db.Insert(new User
                //{
                //    UserName = "userxxx",
                //    password = "passwordxxx",
                //    MobilePhone = "13666666000",
                //});

                //var userX = new User()
                //{
                //    UserId = 11,
                //    UserName = "userxx",
                //    password = "passwordxx",
                //    MobilePhone = "13666666666"
                //};
                //db.Update(userX);

                //db.Delete<User>(12);
                //db.DeleteList<User>(new { UserName = "userxxx" });
                //db.DeleteList<User>("Where user_id > @id", new { id = 12 });

                var second = db.RecordCount<User>();
                Console.WriteLine($"第二次找到{second}个用户");

                var third = db.RecordCount<User>("where user_name like @UserName", new { UserName = "%user%" });
                Console.WriteLine($"第三次找到{third}个用户");



                List<User> users = db.GetList<User>("where user_name like @UserName", new { UserName = "%user%" }).ToList();
                foreach (var user in users) {
                    Console.WriteLine($"{user.UserId} {user.UserName} {user.password} {user.MobilePhone}");
                }
                Console.WriteLine("-");
                List<User> users2 = db.GetListPaged<User>(2, 4,"where user_name like @UserName", "user_name asc", new { UserName = "%user%" }).ToList();
                foreach (var user in users2)
                {
                    Console.WriteLine($"{user.UserId} {user.UserName} {user.password} {user.MobilePhone}");
                    Console.WriteLine($"{user.NameAndPhone}");
                }
            }


        }
    }
}

免责声明:文章转载自《Dapper SimpleCRUD Demo》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇svn命令行mac下wordpress环境搭建下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

随便看看

说说接口封装

今天,我为同事封装了一个接口。当谈到接口封装时,有很多关于它的讨论。在很多情况下,说一个服务好,一个服务坏,实际上是在吐槽服务团队之外暴露的界面质量。无论哪种语言,抽象的封装接口都由一个函数名、几个参数和几个返回值组成。总之,参数不应该被封装……我们在内部尝试接口_Catch不会抛出异常,所有信息都将以错误代码的形式返回。就php而言,建议进行异常处理。...

windows 常用命令行操作

目录操作˃pwd打印当前工作目录,通过此关键词可以查看当前所处的路径˃cd更改目录,用于多个目录之间的切换具体输入:cd目录名cd目录名/子目录名(可通过此方式到达最底层的目录)cd~(返回home目录)cd..(返回上一级目录)cd../..(返回上两级目录)cd盘符名:(不同盘符间跳转,cd后面跟上路径则可实现精准跳转)˃mkdir创建目录具体输入:mk...

硬中断与软中断的区别!

在多核系统上,一个中断通常只能中断一个CPU(也有一种特殊情况,即主机上有一个硬件通道。它可以在没有主CPU支持的情况下同时处理多个中断。软中断:1。软中断与硬中断非常相似。生成软中断的进程必须是当前正在运行的进程,因此它们不会中断CPU。...

js Base64与字符串互转

1、base64加密在页面中引入base64.js文件,调用方法为:˂!...

Linux系统添加永久静态路由的方法

按照Linux启动的顺序,rc本地的内容在Linux中的所有服务启动后执行。也就是说,local的内容在netfs之后执行。也就是说,当netfs启动时,不会添加服务器上的静态路由,因此无法成功装载netfs。...

开源BI分析工具Metabase配置与完全使用手册

文章目录简介安装初始配置数据分析简单查询创建场景创建集合和仪表盘自定义查询原生查询sql变量动态sql片段管理员操作添加数据库连接oracle成员管理邀请新成员权限配置数据权限文件夹权限邮箱配置定时任务简介Metabase是一个免费的BI分析工具,可以帮助你把数据库中的数据更好的呈现给更多人,通过建立一个”查询“来提炼数据,再以图形化的方式做展示。上手简单,...