Dapper SimpleCRUD Demo

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
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}");
                }
            }
 
 
        }
    }
}

  

posted @   skyhap  阅读(592)  评论(2编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· DeepSeek在M芯片Mac上本地化部署
· 葡萄城 AI 搜索升级:DeepSeek 加持,客户体验更智能
点击右上角即可分享
微信分享提示