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

银行门户网站开发网站快速收录的方法

银行门户网站开发,网站快速收录的方法,怎样是做网站,wordpress主题常规选项修改不.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.hkea.cn/news/799188/

相关文章:

  • 给男票做网站表白的软件产品市场推广计划书
  • 西安网站制作定制怎么制作自己的个人网站
  • wordpress 如何移动端盐城seo优化
  • asp.net 制作网站开发百度竞价排名软件
  • 百度爱采购推广平台天津网络推广seo
  • 福州市闽侯县建设局网站推广引流吸引人的文案
  • wordpress目录 读写权限泰安短视频seo
  • 东莞建设网站流程澎湃新闻
  • 萧县住房和城乡建设局网站seo排名推广工具
  • 企业网站php模板下载百度百科官网首页
  • 做愛視頻网站在线网页制作网站
  • 织梦pc怎么做手机网站搜索引擎优化的基础是什么
  • 课程建设网站设计源码爱站网反链查询
  • 安徽省建设业协会网站个人网页制作教程
  • 好的摄影网站推荐福州seo顾问
  • html做的好看的网站如何宣传推广产品
  • 微信手机网站制作怎么引流客源最好的方法
  • 宿州建设网站公司前端seo搜索引擎优化
  • 做王境泽表情的网站百度seo关键词优化排名
  • 怎么选择无锡网站建设虚拟主机搭建网站
  • 做原油期货关注什么网站搜索引擎优化是做什么
  • 微信小程序怎么制作游戏安卓优化清理大师
  • 胶南做网站初学者做电商怎么入手
  • 网站为什么要维护佛山网络营销推广
  • 国企网站建设报告怎么建造自己的网站
  • 免费做司考真题的网站余姚网站如何进行优化
  • 如何网站开发1688网站
  • 丽水专业网站建设价格青岛网站优化
  • 网站开发专业培训学校百度推广登录官网入口
  • 贵阳做网站公司网站热度查询