首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

03-EF Core笔记之查询数据

EF Core有三种常见模型来加载关联数据: 预先加载:表示数据库中加载关联数据,作为初始查询的一部分 显式加载:表示稍后数据库中显式加载关联数据 延迟加载:表示在访问关联数据时,再从数据库中加载关联数据...; } public virtual ICollection Posts { get; set; } } public class Post { public int Id...EF Core还提供了不使用代理的方式进行延迟加载,此方法需要向实体类中注入ILazyLoader实例,并通过该实例实现get访问: public class Blog { private ICollection...LazyLoader { get; set; } public int Id { get; set; } public string Name { get; set; } public ICollection...,如果我们不需要跟踪查询返回的实体,则可以通过AsNoTracking方法禁用跟踪。

2.4K20
您找到你想要的搜索结果了吗?
是的
没有找到

用C#编程的建议建议收藏

大家好,又见面了,我是全栈君 1.如果可能尽量使用接口来编程   .NET框架包括类和接口,在编写程序的时候,你可能知道正在用.NET的哪个类。...= 0; i < items.Length;i++) 4   l.Items.Add (items[i].ToString ()); 5 }   这个函数从一个可为任何对象的数组中加载...如果你用ICollection接口来写那段程序,你就不用修改那段程序了,对于任何实现ICollection接口的类型它都能很好的工作: 1 private void LoadList (ICollection...ListBox l) 2 { 3   foreach (object o in items) 4   l.Items.Add (o.ToString ()); 5 }   ICollection...此外,多维数组也支持ICollection接口。如果那还不够的话,数据库.NET类同样支持ICollection接口。用接口写的这个函数不用需改就可以才许多中情况下使用。 2.

29720

重构一个繁琐的数据结构

这个约束产生的主要是原因是:一:使用了CSLA作为实现分布式应用的框架,所有实体集合,都需要继承BusinessListBase。...而对这个集合中的实体进行操作,经常会引起该实体的状态的改变;二:目前的OpenExpressApp框架中,要求实体直接绑定到表示层,而不能对它进行转换,如使用“ViewModel”。...所以该集合直接继承自ICollection。    ...这是因为代码的实现是在OpenExpressApp框架中,而在框架实体类的操作有时候是针对泛型实体,有时候却针对非泛型实体。所以这里只好也把非泛型版本也一起定义了。...这样在下次数据库中取出时,可简单的根据逻辑号进行物理排序,减少了时间消耗。

765100

Entity Framework——建模建库

4)Null:在Codefirst模式下,当实体结构改变时,运行程序不会自动生成表,改变实体结构与改变表结构互不影响, 前三种策略无法应对的问题是:分别改变实体模型和数据库表结构。...Codefirst模式下,实体与表之间的映射,随实体关系的不同而不同。...}   public virtual ICollection Users { get; set; }   ...... } public class User {   public int...Id { get; set; }   public virtual ICollection Publications { get; set; }   ...... } EF框架对上述多对多关系的默认处理方式为生成三张表...解决方案: 添加一个实体,表达publications,user这两个实体之间的关系,实体如下: public class Publication {   public int Id { get; set

1.2K70

Magicodes.IE之快速导出Excel

前言 总是有很多朋友咨询Magicodes.IE如何基于ASP.NET Core导出Excel,出于框架的体验和易用性的角度,Magicodes.IE决定对Excel的导出进行独立封装,以便于大家更易于使用...注意:Magicodes.IE是框架的易用性和体验的角度对Excel导出进行了封装,但是希望大家先理解原理后再使用。...XlsxFileResult继承自ActionResult,目前支持字节数组、流和泛型集合为参数的Excel文件下载 支持传递下载文件名,参数名fileDownloadName,如不传则自动生成唯一的文件名 核心实现...在Magicodes.IE.Excel.AspNetCore中,我们添加了自定义的ActionResult——XlsxFileResult,核心参考代码如下所示: /// ...Data = data; } public string FileDownloadName { get; } public ICollection

63120

.NET ORM核心功能之导航属性- EFCore和 SqlSugar

导航属性 导航属性是作为.NET ORM核心功能中的核心,在SqlSugar没有支持导航属性前,都说只是一个高级DbHelper, 经过3年的SqlSugar重构已经拥有了一套 非常成熟的导航属性体系...1.复杂的查询过滤 用户根据权限过滤,用户根据组织过滤 等这种多对多情况用SQL就相当复杂 ,例如:用SQL写一个多对多过滤就要联3个表(主表 中间表 表),如果 Where中用到多个多对多或者嵌套多对多那写...假设您有以下实体:人员(Person)、部门(Department)、职位(Position)、学历(Education)和工作经验(WorkExperience)。...Education) .Include(z1 => z1.WorkExperience) .ExecuteCommand();//导航插入 一句就能搞定,先插入主表,然后在根据主表的主键在插入表...public virtual ICollection Students { get; set; } } public class StudentCourse { public int

41240

使用Magicodes.IE快速导出Excel

前言 总是有很多朋友咨询Magicodes.IE如何基于ASP.NET Core导出Excel,出于框架的体验和易用性的角度,决定对Excel的导出进行独立封装,以便于大家更易于使用,开箱即用。...注意:Magicodes.IE是框架的易用性和体验的角度对Excel导出进行了封装,但是希望大家先理解原理后再使用。...XlsxFileResult继承自ActionResult,目前支持字节数组、流和泛型集合为参数的Excel文件下载 支持传递下载文件名,参数名fileDownloadName,如不传则自动生成唯一的文件名 核心实现...在Magicodes.IE.Excel.AspNetCore中,我们添加了自定义的ActionResult——XlsxFileResult,核心参考代码如下所示: /// ...Data = data; } public string FileDownloadName { get; } public ICollection

84840

CA1829:使用 LengthCount 属性,而不是 Enumerable.Count 方法

System.Collections.Immutable.ImmutableArray 此规则标记具有 Count 属性的以下集合类型上的 Count 调用: System.Collections.ICollection...System.Collections.Generic.ICollection System.Collections.Generic.IReadOnlyCollection 分析后的集合类型可能会在将来扩展...System.Linq; class C { public int GetCount(int[] array) => array.Count(); public int GetCount(ICollection...System.Collections.Generic; class C { public int GetCount(int[] array) => array.Length; public int GetCount(ICollection...显示的选项列表中选择“在可用时使用 Length/Count 属性,而不是 Count()”。 何时禁止显示警告 如果不关心不必要的集合枚举计算计数对性能产生的影响,则可禁止显示此规则的冲突警告。

45800
领券