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

安庆市住房和城乡建设局网站wordpress 修改时间

安庆市住房和城乡建设局网站,wordpress 修改时间,凡科网做什么的,个人网站设计模板中文一、什么时候用导航属性 看数据库表的对应关系,一对多的时候用比较好,不用多写一个联表实体,而且查询高效 二、为实体配置导航属性 1.给关系是一的父表实体加上: [FreeSql.DataAnnotations.Navigate(nameof(子表.子表关联字段))]…

一、什么时候用导航属性

        看数据库表的对应关系,一对多的时候用比较好,不用多写一个联表实体,而且查询高效

 二、为实体配置导航属性

1.给关系是一的父表实体加上:

    [FreeSql.DataAnnotations.Navigate(nameof(子表.子表关联字段))]public List<子表> xxx { get; set; } = new List<子表>();

2.给关系是n的子表实体加上:

    [FreeSql.DataAnnotations.Navigate(nameof(子表关联字段))]public 父表 yyy { get; set; }

3.Demo例子:(一个省份对应多个城市)

/// <summary>
/// 1
/// </summary>
[Table("Province")]
public class Province
{[FreeSql.DataAnnotations.Column(IsPrimary = true, IsIdentity = true, Name = "Id")]public int Id { get; set; }[Column("ProvinceCode")]public int? ProvinceCode { get; set; }[FreeSql.DataAnnotations.Navigate(nameof(City.ProvinceId))]public List<City> citys { get; set; } = new List<City>();
}/// <summary>
/// n
/// </summary>
[Table("City")]
public class City
{[FreeSql.DataAnnotations.Column(IsPrimary = true, IsIdentity = true, Name = "Id")]public int Id { get; set; }[Column("CityCode")]public int? CityCode { get; set; }[Column("ProvinceId")]public int ProvinceId { get; set; }[Column("CityGroup")]public int? CityGroup { get; set; }[FreeSql.DataAnnotations.Navigate(nameof(ProvinceId))]public Province province { get; set; }
}

 三、怎么用导航属性

原理:左外连接

总结:使用关键字Include(找父表)、IncludeMany(找子表)

// 一对多导航属性关联查询
// 01 无条件查询
// 导航属性带出其父表(可序列化)
var list1 = MSfsql.Select<City>().Include(x => x.province).ToList();// 导航属性带出其子表(不可序列化,因为子表含有父表字段,会一直引用下去)
var list2 = MSfsql.Select<Province>().IncludeMany(x => x.citys).ToList();// 02 有条件查询
// 【子表 -> 父表】
var query1 = MSfsql.Select<City>().Where(x => (x.province.Id < 20) && (x.Id == 1 || x.Id == 198)) //先对本表(子表)筛选,条件可含子表 父表.Include(x=>x.province) // 选择带出查询结果对应的那个父表.ToList();// 【父表->子表】
var query2 = MSfsql.Select<Province>().Where(x => x.Id < 20 && x.citys.Any(x=> x.Id ==1 || x.Id==198 )) //先对本表(父表)筛选,条件可含子表 父表.IncludeMany(x => x.citys) // 选择带出查询结果对应的多个子表.ToList();var query3 = MSfsql.Select<Province>().Where(x => x.Id < 20 && x.citys.Any(x => x.Id == 1 || x.Id == 198)) //先对本表(父表)筛选,条件可含子表 父表.IncludeMany(x => x.citys, then => then.Where(x=> x.CityGroup == 1)) // 选择带出子表,并且要求子表具备一定条件.ToList();

四、一对多免导航属性配置的写法

1.实体

        仅给关系是一的父表实体加上List<子表>字段即可

/// <summary>
/// 1
/// </summary>
[Table("Province")]
public class Province
{[FreeSql.DataAnnotations.Column(IsPrimary = true, IsIdentity = true, Name = "Id")]public int Id { get; set; }[Column("ProvinceCode")]public int? ProvinceCode { get; set; }//[FreeSql.DataAnnotations.Navigate(nameof(City.ProvinceId))]public List<City> citys { get; set; } = new List<City>();
}/// <summary>
/// n
/// </summary>
[Table("City")]
public class City
{[FreeSql.DataAnnotations.Column(IsPrimary = true, IsIdentity = true, Name = "Id")]public int Id { get; set; }[Column("CityCode")]public int? CityCode { get; set; }[Column("ProvinceId")]public int ProvinceId { get; set; }[Column("CityGroup")]public int? CityGroup { get; set; }// [FreeSql.DataAnnotations.Navigate(nameof(ProvinceId))]// public Province province { get; set; }
}

2.查询方法

原理:先查满足条件的父表,提取出这些父表ID,再通过提取的父表ID查子表,freesql内部代码会通过IncludeMany里面的表达式树关联父表和子表

var query4 = fsql.Select<Province>().Where(x=>x.Id > 10) //此处写父表 or 子表的查询条件,筛选出父表.IncludeMany(x => x.citys.Where(y => x.Id == y.ProvinceId)) //此处写关联条件,带出子表.ToList();//本质是查两次,freesql内部有代码优化机制


文章转载自:

http://ShUl9lFB.jfkwp.cn
http://A3MgeHTt.jfkwp.cn
http://ghuIKCF3.jfkwp.cn
http://C4ApRLxL.jfkwp.cn
http://hHene6P7.jfkwp.cn
http://3A35sl9V.jfkwp.cn
http://gXAP6VcF.jfkwp.cn
http://NgOmPPk5.jfkwp.cn
http://CUQDvHXh.jfkwp.cn
http://zcWpuovQ.jfkwp.cn
http://RC6euqqG.jfkwp.cn
http://mJFjSGFX.jfkwp.cn
http://tPXrEC8I.jfkwp.cn
http://29LTderK.jfkwp.cn
http://mEruheCk.jfkwp.cn
http://tZyBZugP.jfkwp.cn
http://K7afmfTY.jfkwp.cn
http://uqAALEJ1.jfkwp.cn
http://OA2mlRlO.jfkwp.cn
http://nzvaNslF.jfkwp.cn
http://HLRqw7Td.jfkwp.cn
http://4Vr4uCsg.jfkwp.cn
http://vnqas0Fp.jfkwp.cn
http://TaP5SupF.jfkwp.cn
http://zw9XoyyE.jfkwp.cn
http://tUt2LBzB.jfkwp.cn
http://IrmB1qye.jfkwp.cn
http://EsPygRby.jfkwp.cn
http://fIU9pprC.jfkwp.cn
http://Mw200rt1.jfkwp.cn
http://www.dtcms.com/wzjs/691848.html

相关文章:

  • 目录搜索引擎网站平面设计作品集欣赏
  • 有趣的网站代码磁器口网站建设
  • 手机版网站建设合同范本做一个网站需要哪些资源
  • 延吉 网站建设潮州+网站建设
  • 大兴模版网站建设公司推广类网站
  • 网站在哪里建立垂直电商平台有哪些?
  • 自己做网站的软件嘉兴模板建站定制
  • 网站恶意攻击西安网站建设地址
  • asp网站后台下载网站建设类合同范本
  • 做推广都有什么网站珠海网站建设搭建
  • 网站开发 在线数据库天津 企业网站建设
  • 网站栏目按扭端子东莞网站建设
  • 网站首页的功能网页设计作品收获与思考
  • 网站开发的技术有淘宝店做箱包哪个网站拿货
  • 建设银行网站在哪里修改支付密码企业展厅设计理念
  • 网站需要第三方登录怎么做暴雪游戏服务中心
  • 哪个网站做浏览器主页好企业软件管理系统
  • 网站设计与制作的论文报告百度竞价入口
  • 阳江网站开发html5响应式手机网站
  • 哈尔滨网站开发工作室工业设计网站 知乎
  • 网站介绍怎么写微网站开发提供的服务器
  • 网站建设调查内容有哪些网站域名备案证书
  • 建立带数据库的网站网站建设规划设计书
  • 建站公司现状京粉购物网站怎么做
  • 流媒体 网站开发类似中企动力的做网站的
  • 楼盘网站建设wordpress 4.9 站群
  • 四川做网站的公司有哪些建设网络良好生态
  • 深圳平湖网站开发php模板源码
  • 黄埔网站开发广州知名网站排名优化
  • 西樵建网站桂林网站设计制作