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

仿58网站源码品牌营销推广策划方案

仿58网站源码,品牌营销推广策划方案,网站建设公司首选,平顶山网站开发.NET开源 ORM 框架 SqlSugar 系列 【开篇】.NET开源 ORM 框架 SqlSugar 系列【入门必看】.NET开源 ORM 框架 SqlSugar 系列【实体配置】.NET开源 ORM 框架 SqlSugar 系列【Db First】.NET开源 ORM 框架 SqlSugar 系列【Code First】.NET开源 ORM 框架 SqlSugar 系列【数据事务…

 .NET开源 ORM 框架 SqlSugar 系列

  1. 【开篇】.NET开源 ORM 框架 SqlSugar 系列
  2. 【入门必看】.NET开源 ORM 框架 SqlSugar 系列
  3. 【实体配置】.NET开源 ORM 框架 SqlSugar 系列
  4. 【Db First】.NET开源 ORM 框架 SqlSugar 系列
  5. 【Code First】.NET开源 ORM 框架 SqlSugar 系列
  6. 【数据事务】.NET开源 ORM 框架 SqlSugar 系列
  7. 【连接池】.NET开源 ORM 框架 SqlSugar 系列
  8. 【查询目录】.NET开源 ORM 框架 SqlSugar 系列
  9. 【查询基础】.NET开源 ORM 框架 SqlSugar 系列
  10. 【排序用法】.NET开源 ORM 框架 SqlSugar 系列
  11. 【分组去重】.NET开源 ORM 框架 SqlSugar 系列
  12. 【联表查询】.NET开源 ORM 框架 SqlSugar 系列
  13. 【导航查询】.NET开源 ORM 框架 SqlSugar 系列
  14. 【子查询】.NET开源 ORM 框架 SqlSugar 系列
  15. 【嵌套查询】.NET开源 ORM 框架 SqlSugar 系列
  16. 【配置查询】.NET开源 ORM 框架 SqlSugar 系列
  17. 【并集查询】.NET开源 ORM 框架 SqlSugar 系列

 


一、抛砖引玉

1、🚫实际开发中数据库大量用到 多表查询 ,只为一个字段就进行 联表 。🤣

2、🚫字典表 联表查询 ,字典表我相信大家都全用到,他们可以方便的存储性别、学历、岗位等 一串数据 并进行TypeId进行区分😂

二、应对策略

2.1 字典导航

通过导航查询我们也可以实现配置查询:

优点:支持多层级 一对一 

💀不足:  像字典表那样 没办法 动态配置 , 依赖主键 导航配置

public class DataMain 
{//表属性   public int Id{get;set;}public string Name{get;set;}public string SexCode { get; set; }public  string Province { get; set; }//导航[SqlSugar.Navigate(NavigateType.OneToOne,nameof(SexCode),nameof(DataDictionary1.Code),"type='sex'")]public DataDictionary1 SexInfo { get; set; }[SqlSugar.Navigate(NavigateType.OneToOne, nameof(Province), nameof(DataDictionary1.Code), "type='province'")]public DataDictionary1 ProvinceInfo { get; set; }
}var list=db.Queryable<DataMain>().Includes(x => x.SexInfo).Includes(x => x.ProvinceInfo).ToList();//返回导航属性//联表导航
var list2 = db.Queryable<DataMain>().Where(x=>x.SexInfo.Name=="男")//也可以在Select用.ToList();

2.2 传统配置查询

2.2.1 创建测试数据

创建一个字典实体

public class DataDictionary
{public string Code { get; set; }public string Name { get; set; }public string Type { get; set; }
}

创建字典表并向里面插入测试数据

var db = GetInstance();List<DataDictionary> datas = new List<DataDictionary>();datas.Add(new DataDictionary() { Code="1", Name="男",Type="sex" });datas.Add(new DataDictionary() { Code = "2", Name = "女", Type = "sex" });datas.Add(new DataDictionary() { Code = "1", Name = "南通市", Type = "city" });datas.Add(new DataDictionary() { Code = "2", Name = "苏州市", Type = "city" });datas.Add(new DataDictionary() { Code = "1", Name = "江苏省", Type = "province" });datas.Add(new DataDictionary() { Code = "2", Name = "湖南省", Type = "province" });db.Insertable(datas).ExecuteCommand();//这样就能把数据插进数据库了

再建一个Person表

public class Person
{//数据库字段[SqlSugar.SugarColumn(IsPrimaryKey =true,IsIdentity =true)]public int Id { get; set; }public string Name { get; set; }public int SexId { get; set; }public int CityId { get; set; }public int ProvinceId { get; set; }//非数据库字段[SqlSugar.SugarColumn(IsIgnore =true)]public string SexName { get; set; }[SqlSugar.SugarColumn(IsIgnore = true)]public string CityName { get; set; }[SqlSugar.SugarColumn(IsIgnore = true)]public string ProvinceName { get; set; }
} 
2.2.2 传统实现缺点

如果我们要将 Person 中的非数据字段查询出来那么我们就需要写有 2种 实现方式

 🔸连表或者子查询 (缺点 写起来很浪费时间)

🔸 将字典存到内存,通过内存赋值 (缺点 字典表 超过1000 条以上 性能很差  ,并且 不能排序 ,或者 LIKE

2.2.3 使用配置查询

配置字典表

     //保证程序启动后只执行一次lock(单例对象) { var types= db.Queryable<DataDictionary>().Select(it => it.Type).Distinct().ToList();foreach (var type in types){db.ConfigQuery.SetTable<DataDictionary>(it =>it.Code,it =>it.Name,type,it =>it.Type==type);}}//像姓别是01 02 学历也是01 02 这种只能按这种循环方式,需要加个Type区分唯一//如果其中Code都是唯一值可以按1.4中的用法使用 ,一行代码就可以配置不需要循环//如果你认为麻烦你也可以把这个配置扔到程序启动中完成

配置完我们查询就会很方便了

   var res=db.Queryable<Person>().Select(it => new Person(){Id=it.Id.SelectAll(),  // Oracle 注意:单表查询要设置别名SelectAll("别名")SexName=it.SexId.GetConfigValue<DataDictionary>("sex"),ProvinceName = it.ProvinceId.GetConfigValue<DataDictionary>("province"),CityName = it.CityId.GetConfigValue<DataDictionary>("city"),}).ToList();//生成的Sql//select  *,//          (select name from  DataDictionary  where type='sex' where t.code=sexid) as sexname,//          (select name from  DataDictionary  where type='city'where t.code=cityid) as cityname,   //          (select name from  DataDictionary  where type='province' where t.code=provinceid) as provincename // from Person t      //支持写在Where或者Orderby 
2.2.4 简单联表查询配置

//配置Order 
if (!db.ConfigQuery.Any()) //保证只配置一次不能更新,该配置是全局静态存储
{db.ConfigQuery.SetTable<Order>(it => it.Id, it => it.Name);//多个配置可以一起写在下面
}
//使用
var list3 = db.Queryable<OrderItem>().Select(it => new OrderItem
{ItemId = it.ItemId.SelectAll(), // Oracle 注意:单表查询要设置别名SelectAll("别名")OrderName = it.OrderId.GetConfigValue<Order>() //查询的时候直接用
}).ToList();
//select *,
//     (select name from order where id= t.orderid) as ordername 
//from orderitem t

🎯总结:配置表查询的方式可以大大降低重复联表问题,并且配置好后基本就不要写JOIN了。

2.2.5 参数介绍

SetTable<T> 总共4个参数 ,T 代表哪个实体表

🔸参数 1、主键或者关联字段

🔸参数 2、显示的文本

🔸参数 3、唯一标识(可不填) 当一个T对应多个查询的时候需要指定一个唯一标识

🔸参数 4、查询条件(可不填)

💦万丈高楼平地起,做开发想要技术精进,必须要有扎实的基础功底。基础SQL查询语法一定要牢记于心,才能应对后面更为复杂的形势。

  .NET开源 ORM 框架 SqlSugar 系列

  1. 【开篇】.NET开源 ORM 框架 SqlSugar 系列
  2. 【入门必看】.NET开源 ORM 框架 SqlSugar 系列
  3. 【实体配置】.NET开源 ORM 框架 SqlSugar 系列
  4. 【Db First】.NET开源 ORM 框架 SqlSugar 系列
  5. 【Code First】.NET开源 ORM 框架 SqlSugar 系列
  6. 【数据事务】.NET开源 ORM 框架 SqlSugar 系列
  7. 【连接池】.NET开源 ORM 框架 SqlSugar 系列
  8. 【查询目录】.NET开源 ORM 框架 SqlSugar 系列
  9. 【查询基础】.NET开源 ORM 框架 SqlSugar 系列
  10. 【排序用法】.NET开源 ORM 框架 SqlSugar 系列
  11. 【分组去重】.NET开源 ORM 框架 SqlSugar 系列
  12. 【联表查询】.NET开源 ORM 框架 SqlSugar 系列
  13. 【导航查询】.NET开源 ORM 框架 SqlSugar 系列
  14. 【子查询】.NET开源 ORM 框架 SqlSugar 系列
  15. 【嵌套查询】.NET开源 ORM 框架 SqlSugar 系列
  16. 【配置查询】.NET开源 ORM 框架 SqlSugar 系列
  17. 【并集查询】.NET开源 ORM 框架 SqlSugar 系列
http://www.jinmujx.cn/news/107119.html

相关文章:

  • 网站设计 布局今日新闻摘抄十条
  • wordpress阿里云全站加速seo什么职位
  • 外贸网站模板推荐网络营销的效果是什么
  • 专门做行业分析的网站利尔化学股票最新消息
  • 河南省建设厅网站 吴浩下载百度网盘
  • 微信php网站开发流程图企业做推广有几种方式
  • 上饶建设培训中心网站百度关键词推广方案
  • 做赌博的网站违不违法成都竞价托管多少钱
  • 网站建设验收期网络营销推广方式有哪些
  • 网站基本流程太原高级seo主管
  • 企业网站建设层次数据分析师就业前景
  • 自助网站建设开发推广普通话的意义30字
  • 白城网站建设成人职业培训机构
  • 企业网站建设怎么样国际新闻消息
  • 织梦调用网站名称seo 优化教程
  • 兰州网站建设推荐q479185700上墙太原seo外包平台
  • 远程教育网站建设如何创建微信小程序
  • 视频直播nba的网站免费的外链平台
  • 那些网站可以做0首付分期手机号易观数据
  • 四库一平台怎么查建造师业绩沧州seo包年优化软件排名
  • 郴州市北湖区seo超级外链发布
  • 苏州知名网站建设设计深圳外贸网站制作
  • 最新wordpress电商主题百度seo网站优化 网络服务
  • 学做家庭树网站查询网站备案信息
  • 哪些网站可以做推广网站排名优化教程
  • 网站设计分析案例网站排名seo软件
  • 武汉市内做网站的公司实体店营销方案
  • 做网站是怎么赢利的网站统计分析平台
  • 个人品牌网站建设网络精准推广
  • 做微商那个网站好网络优化工程师是干什么的