当前位置: 首页 > news >正文

最新冠状新型病毒最新消息/网站seo优化网站

最新冠状新型病毒最新消息,网站seo优化网站,软件应用下载安装,门户网站建设投入ORM框架之Dapper,项目测试环境:.NET Core2.0 ConsoleApp应用; 新建ConsoleApp应用(项目命名DapperApp),添加NuGet引用,如下图所示:项目添加》新建文件夹》Model添加实体类&#xff1…

ORM框架之Dapper,项目测试环境:.NET Core2.0 ConsoleApp应用;

新建ConsoleApp应用(项目命名DapperApp),添加NuGet引用,如下图所示:


项目添加=》新建文件夹=》Model添加实体类:DETAILS和TB_TYPE,数据库对应表模型。

 public class DETAILS{public string Id { get; set; }public string Title { get; set; }public string Mark { get; set; }public string Content { get; set; }public DateTime Date { get; set; }public int ReadCount { get; set; }public string Writer { get; set; }public short TypeId { get; set; }public string PartContent { get; set; }public short SubId { get; set; }}
public class TB_TYPE
{public short Id { get; set; }public string TypeName { get; set; }
}

在Program的Main方法中添加测试:

using System;
using Dapper;
using System.Data;
using System.Data.SqlClient;
using DapperApp.Model;
using System.Collections.Generic;
using Newtonsoft.Json;
using System.Threading.Tasks;namespace DapperApp
{class Program{private static string sqlconnStr = "Server=.;Database=Test;uid=sa;pwd=123456";static void Main(string[] args){Console.WriteLine("Hello Dapper!");//Query();//QueryAsync();QueryJoin();//QueryInData();//QueryMultiTable();//QueryMultiTableAsync();//Insert();//Update();//UpdateKeyVal();//Delete();Proc();}/// <summary>/// T-SQL查询,返回单一数据集/// </summary>private static void Query(){using (var db = new SqlConnection(sqlconnStr)){string sql = "SELECT [ID],[TITLE],[MARK],[CONTENT],[DATE],[READCOUNT],[WRITER],[TYPEID],[PARTCONTENT],[SUBID] FROM [dbo].[TB_DETAILS]";var query = db.Query<DETAILS>(sql);foreach (var item in query){var str = $"{item.Id} {item.Title} {item.Mark} {item.Content} {item.Date} {item.ReadCount} {item.Writer} {item.TypeId} {item.PartContent} {item.SubId}";Console.WriteLine(str);}}}/// <summary>///  异步T-SQL查询,返回单一数据集/// </summary>/// <returns></returns>private async static Task QueryAsync(){using (var db = new SqlConnection(sqlconnStr)){string sql = "SELECT [ID],[TITLE],[MARK],[CONTENT],[DATE],[READCOUNT],[WRITER],[TYPEID],[PARTCONTENT],[SUBID] FROM [dbo].[TB_DETAILS]";var query = await db.QueryAsync<DETAILS>(sql);foreach (var item in query){var str = $"{item.Id} {item.Title} {item.Mark} {item.Content} {item.Date} {item.ReadCount} {item.Writer} {item.TypeId} {item.PartContent} {item.SubId}";Console.WriteLine(str);}}}/// <summary>/// T-SQL-IN查询,返回单一数据集/// </summary>private static void QueryInData(){using (var db = new SqlConnection(sqlconnStr)){///注意sql语句底层会包装T-SQL-IN语句string sql = "SELECT [TITLE],[MARK],[CONTENT],[DATE] FROM [dbo].[TB_DETAILS] WHERE [MARK] IN @MARK";///匿名类参数var query = db.Query<DETAILS>(sql, new { mark = new string[3] { "李四测试", "李四测试2", "afd" } });foreach (var item in query){var str = $"{item.Title} {item.Mark} {item.Content} {item.Date}";Console.WriteLine(str);}}}/// <summary>/// 多表查询,返回多数据集/// </summary>private static void QueryMultiTable(){using (var db = new SqlConnection(sqlconnStr)){///多sql语句执行,返回多数据集string sql = "SELECT * FROM [dbo].[TB_DETAILS];SELECT * FROM [dbo].[TB_TYPE]";///匿名类参数var queryMulti = db.QueryMultiple(sql);var details = queryMulti.Read<DETAILS>();var type = queryMulti.Read<TB_TYPE>();//处理键值对模型对象List<KeyValuePair<string, object>> list = new List<KeyValuePair<string, object>>();list.Add(new KeyValuePair<string, object>("details", details));list.Add(new KeyValuePair<string, object>("type", type));AjaxResult ajaxResult = new AjaxResult() { Code = "0", Msg = "OK", Data = list, Sum = list.Count };//string jsonStr = JsonConvert.SerializeObject(ajaxResult);Console.WriteLine($"{JsonConvert.SerializeObject(ajaxResult)}");}}/// <summary>/// 异步多表查询,返回多数据集/// </summary>private async static Task QueryMultiTableAsync(){using (var db = new SqlConnection(sqlconnStr)){///多sql语句执行,返回多数据集string sql = "SELECT * FROM [dbo].[TB_DETAILS];SELECT * FROM [dbo].[TB_TYPE]";///匿名类参数var queryMulti = await db.QueryMultipleAsync(sql);var details = queryMulti.ReadAsync<DETAILS>();var type = queryMulti.ReadAsync<TB_TYPE>();List<KeyValuePair<string, object>> list = new List<KeyValuePair<string, object>>();list.Add(new KeyValuePair<string, object>("details", details));list.Add(new KeyValuePair<string, object>("type", type));AjaxResult ajaxResult = new AjaxResult() { Code = "0", Msg = "OK", Data = list, Sum = list.Count };//string jsonStr = JsonConvert.SerializeObject(ajaxResult);Console.WriteLine($"{JsonConvert.SerializeObject(ajaxResult)}");}}/// <summary>/// T-SQL-JOIN语句/// </summary>private static void QueryJoin(){using (var db = new SqlConnection(sqlconnStr)){///注意sql语句底层会包装T-SQL-JOIN语句string sql = "SELECT A.TITLE,A.MARK,A.[DATE],B.TYPENAME FROM [dbo].[TB_DETAILS] AS A JOIN [dbo].[TB_TYPE] AS B ON A.TYPEID = B.ID WHERE B.TYPENAME = '设计'";//DETAILS:实体模型,TB_TYPE:实体模型,DETAILS:返回实体模型var result = db.Query<DETAILS, TB_TYPE, DETAILS>(sql,(details,users) => {//对应参数details-》DETAILS,users -》TB_TYPEdetails.TypeId = users.Id;return details; //返回DETAILS},splitOn:"TypeName"); //以TypeName分割AjaxResult ajaxResult = new AjaxResult() { Code = "0", Msg = "OK", Data = result, Sum = 0 };//string jsonStr = JsonConvert.SerializeObject(ajaxResult);Console.WriteLine($"{JsonConvert.SerializeObject(ajaxResult)}");}}/// <summary>/// 单语句sql添加操作。返回受影响行数/// </summary>private static void Insert(){using (var db = new SqlConnection(sqlconnStr)){string sql = "INSERT INTO [dbo].[TB_DETAILS](ID,TITLE,MARK) VALUES(@ID,@TITLE,@MARK)";///匿名类模型int count = db.Execute(sql, new{ID = "1a33ed8f501b475dac40cc5ecf728306",TITLE = "Test",MARK = "afd"});AjaxResult ajaxResult = new AjaxResult() { Code = "0", Msg = "OK", Data = count, Sum = count };}}/// <summary>/// 单条或多条数据添加/// </summary>private static void InsertBulk(){using (var db = new SqlConnection(sqlconnStr)){string sql = "INSERT INTO [dbo].[TB_DETAILS]([ID],[TITLE],[MARK],[CONTENT],[DATE],[READCOUNT],[WRITER],[TYPEID],[PARTCONTENT] ,[SUBID]) VALUES(@ID,@TITLE,@MARK,@CONTENT,@DATE,@READCOUNT,@WRITER,@TYPEID,@PARTCONTENT,@SUBID)";//实体类模型对象DETAILS details = new DETAILS(){Id = "1a33ed8f501b475dac40cc5ecf728308",Title = "Test",Mark = "afd",Content = "sf",Date = DateTime.Now,ReadCount = 3,Writer = "zuzhe",TypeId = 5,PartContent = "sdfds",SubId = 2};var c = db.Execute(sql,details); //单条数据添加List<DETAILS> list = new List<DETAILS>() {new DETAILS{Id = "1a33ed8f501b475dac40cc5ecf728309",Title ="Test", Mark = "afd",Content ="sf",Date = DateTime.Now,ReadCount = 3,Writer = "zuzhe",TypeId = 5,PartContent = "sdfds",SubId = 2},new DETAILS{Id = "1a33ed8f501b475dac40cc5ecf728310",Title ="Test", Mark = "afd",Content ="sf",Date = DateTime.Now,ReadCount = 3,Writer = "zuzhe",TypeId = 5,PartContent = "sdfds",SubId = 2},new DETAILS{Id = "1a33ed8f501b475dac40cc5ecf728311",Title ="Test", Mark = "afd",Content ="sf",Date = DateTime.Now,ReadCount = 3,Writer = "zuzhe",TypeId = 5,PartContent = "sdfds",SubId = 2}};int count = db.Execute(sql, list); //多条数据添加AjaxResult ajaxResult = new AjaxResult() { Code = "0", Msg = "OK", Data = count, Sum = count };}}/// <summary>/// 单条语句更新/// </summary>private static void Update(){using (var db = new SqlConnection(sqlconnStr)){string sql = "UPDATE [dbo].[TB_DETAILS] SET [MARK] = @MARK WHERE [ID] = @ID";//匿名对象var count = db.Execute(sql, new {MARK= "张三", //参数占位符映射ID = "1a33ed8f501b475dac40cc5ecf728305"});AjaxResult ajaxResult = new AjaxResult() { Code = "0", Msg = "OK", Data = count, Sum = count };}}/// <summary>/// 键值对操作更新/// </summary>private static void UpdateKeyVal(){using (var db = new SqlConnection(sqlconnStr)){string sql = "UPDATE [dbo].[TB_DETAILS] SET [MARK] = @MARK WHERE [ID] = @ID";List<KeyValuePair<string, object>> keys = new List<KeyValuePair<string, object>>();keys.Add(new KeyValuePair<string, object>("@MARK","李四测试"));keys.Add(new KeyValuePair<string, object>("@ID", "1a33ed8f501b475dac40cc5ecf728305"));///注意,键值对操作更新 会执行覆盖,以最后一组键值对更新//keys.Add(new KeyValuePair<string, object>("@MARK", "李四测试2"));//keys.Add(new KeyValuePair<string, object>("@ID", "1a33ed8f501b475dac40cc5ecf728306"));var count = db.Execute(sql, keys);AjaxResult ajaxResult = new AjaxResult() { Code = "0", Msg = "OK", Data = count, Sum = count };}}/// <summary>/// 删除操作/// </summary>private static void Delete(){using (var db = new SqlConnection(sqlconnStr)){string sql = "delete [dbo].[TB_DETAILS] where [ID] = @ID";///匿名对象var count = db.Execute(sql,new { Id= "sdfsd" });AjaxResult ajaxResult = new AjaxResult() { Code = "0", Msg = "OK", Data = count, Sum = count };}}/// <summary>/// 存储过程操作/// </summary>private static void Proc(){using (var db = new SqlConnection(sqlconnStr)){string sql = "sp_details"; //存储过程名称///匿名对象,使用存储过程时,查询显示指明存储过程操作var deails = db.Query<DETAILS>(sql,new { typeid = 2 },commandType: CommandType.StoredProcedure);AjaxResult ajaxResult = new AjaxResult() { Code = "0", Msg = "OK", Data = deails, Sum = 0 };//string jsonStr = JsonConvert.SerializeObject(ajaxResult);Console.WriteLine($"{JsonConvert.SerializeObject(ajaxResult)}");}}private static void Test(){using (var db = new SqlConnection(sqlconnStr)){//测试连接}}}public class AjaxResult{public string Code { get; set; }public string Msg { get; set; }public object Data { get; set; }public int Sum { get; set; }}
}
Dapper基本CRUD操作完毕,注:测试看jsonString控制台输出,请导入Newtonsoft.Json 序列化操作。



http://www.lbrq.cn/news/959329.html

相关文章:

  • 做asp动态网站制作流程/广州seo效果
  • 怎么做网站黑链/广州番禺发布网
  • 有了网址怎么做网站/重庆关键词seo排名
  • vs网站怎么做/腾讯广告推广平台入口
  • 广州 环保 凡人网站建设/十大计算机培训机构排名
  • 重庆沙坪坝做网站/网络营销文案策划都有哪些
  • 2015做网站前景/推广互联网推广
  • 网站功能说明书/看b站视频下载软件
  • 抖音小程序赚钱/网站seo推广排名
  • 网站建公司简介/郑州网站建设十大公司
  • 网站建设需解决问题/短期培训班学什么好
  • 大鹏网站建设/seo网站建设优化
  • 网站app在线制作/产品推广介绍
  • 网站建设需要租赁服务器吗/百度竞价推广属于什么广告
  • 沧州网站建设 熊掌号/免费的模板网站
  • 哈尔滨免费建站模板/搜索推广竞价托管哪家好
  • vb.net 网站开发/app拉新平台有哪些
  • 南京做企业网站公司/互动营销案例100
  • 网站建设需要准备什么软件/福州百度快速优化
  • 网站运营推广怎么做/seo专业培训技术
  • 汽配人网做网站/最新新闻摘抄
  • 怎么入侵网站后台管理/微信推广软件
  • 网站页面做海报用什么软件/seo数据统计分析工具有哪些
  • 有没有专门做化妆品小样的网站/怎么推广网站
  • 搭建网站教程/职业培训学校
  • 什么网站有项目做/广州网站优化服务商
  • 国外一个专门做配乐的网站/百度广告联盟平台官网
  • 做洁净的网站/浙江网站推广运营
  • 海口网站建设专家评价/深圳网络推广大师
  • 6617网址导航彩票网站大全/百度百度一下百度
  • 数据库练习3
  • 全球天气预报5天(经纬度版)免费API接口教程
  • Vue3 从 0 到 ∞:Composition API 的底层哲学、渲染管线与生态演进全景
  • 【世纪龙科技】汽车故障诊断与排除仿真教学软件让课堂更高效安全
  • 零基础入门:用按键精灵实现视频自动操作(附完整脚本)
  • 闲庭信步使用图像验证平台加速FPGA的开发:第二十一课——高斯下采样后图像还原的FPGA实现