Part3

您所在的位置:网站首页 数据库acl是什么 Part3

Part3

2023-06-20 00:12| 来源: 网络整理| 查看: 265

一、概览

Part3-11:什么是EFCore做不到的_哔哩哔哩_bilibili

二、为什么有些功能EF Core做不到 C#千变万化,SQL功能简单,所以存在复杂的C#语句无法被翻译成SQL语句的情况。 三、总结

1、EF Core操作数据库必须有此数据库对应的Provider,否则只能用传统方法ADO.NET操作数据库。 2、同样一段代码可能在A数据库可以执行,在B数据库无法执行。 3、如果遇到代码无法被解析成SQL,可以通过手写SQL解决。

image.png 四、拓展

1、多个dbcontext的数据源查询结果再进行join类操作会出现如下报错:

Cannot use multiple context instances within a single query execution. Ensure the query uses a single context instance

2、EF CORE不允许:在一次查询执行中不能使用多个DBContext,要确保查询使用单一的DBContext。

这里有没有高手知道的

3、解决方案:

方案一:通过Tolist()将不同DBContext的查询结果转成内存集合,在内存中再做进一步操作。但是这个对于内存压力太大了! 当使用ToList()方法将查询结果转换为一个List集合时,整个结果集都会被加载到内存中。因此,如果结果集非常大,可能会导致内存占用过高或者查询性能变差的问题。 方案二:考虑通过原生SQL实现。 或者有大神知道其它的方案?


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3