
数据库
文章平均质量分 62
董厂长
I'm looking for opportunities. If you are interested, please send me a message.
展开
-
The LINQ expression “xxx“ could not be translated
投影操作符中,我们就能够正确地对分组进行操作,因为它已经被组合起来进行了翻译。方法,你确保了分组的列表已经被组合起来,并且成功解决了报错。然而,问题在于 LINQ 表达式无法直接翻译带有分组参数的。类型的对象,而不是标准的集合类型(如。因为分组的列表返回的是一个。原创 2023-12-08 14:26:08 · 1137 阅读 · 1 评论 -
在EFCore中,我何时需要在值对象中添加[Owned]特性?
需要注意的是,数据库中的列与实体的属性之间需要进行映射关系的配置。这通常由ORM框架负责处理,通过特定的注解、配置文件或代码来定义实体属性与数据库列之间的映射关系。原创 2023-11-27 19:13:04 · 1424 阅读 · 0 评论 -
EFCore:多线程中使用仓储方法,报错A second operation was started on this context instance before a previous operat
abpvnext 开发中ValidationErrors和LifetimeScope异常的解决办法_abp vnext 异常处理_吹牛不交税的博客-优快云博客。当调用这个方法时,它会在后台启动一个新的任务,并在完成后返回结果。这使得我们可以在调用异步方法的同时继续执行其他任务,而不必等待异步方法完成。3. 在构造函数注入IServiceProvider,应用中通过IServiceProvider的GetService方法获取实例。若开启多线程,在不同的线程中使用同一个DbContext上下文,则报错。原创 2023-08-17 10:38:29 · 3340 阅读 · 2 评论 -
COMP527数据分析:中心性度量
在数据分析中,中心性度量通常是指描述数据集中心位置的统计量。原创 2023-07-15 21:59:27 · 374 阅读 · 0 评论 -
关于ABP使用工作单元的Q&A --- UOW方式/AOP/AOP思想的体现/ABP体现AOP
在 ABP 框架中,工作单元(UnitOfWork)是一个重要的概念,它负责管理与数据库的交互操作。在应用程序中使用工作单元可以提高代码的可测试性和可维护性。下面是在 ABP 应用程序中使用工作单元的示例代码:在上面的示例代码中,我们注入了一个名为 的 类型的依赖项,并在 方法中使用工作单元来管理与数据库的交互。首先,在方法的开头处我们使用 语句创建了一个新的工作单元对象 ,并在其作用域内执行了一系列数据库操作。这些操作包括插入一条新记录和提交保存更改。如果在执行这些操作时出现异常,我们会在原创 2023-04-26 11:17:39 · 918 阅读 · 0 评论 -
我是否可以将EF core的工作单元 理解为 一个数据库事务?
这些属性确保了在工作单元中执行的所有操作是可靠和可恢复的,并且提供了一种有效的方法来处理数据的并发访问和故障恢复。工作单元是一个在应用程序和数据库之间建立的屏障,用于封装所有对数据存储区域的访问。默认情况下,工作单元会在操作完成后提交事务并关闭连接,但你也可以在需要时手动控制事务的提交和回滚。因此,可以说将 EF Core 的工作单元视为一个数据库事务是正确的,这两者的目标和基本原则都是相同的:确保在数据存储区域中进行的所有更改都是原子性和一致性的。原创 2023-04-25 14:56:31 · 296 阅读 · 0 评论 -
hi mate, lets recall the bloody “JOIN“
补补数据库基础上图中,表A的记录是123,表B的记录是ABC,颜色表示匹配关系。返回结果中,如果另一张表没有匹配的记录,则用null填充。注意:多表连接查询会比直接使用自带的API查询表中的一个属性,再根据属性查询另一个表,一个一个查询来得快。所以,我们要善用多表连接查询。学生表:s_id:学生学号s_name:学生名称:学生班级老师表:t_id:老师idt_class:老师管理的班级t_name:老师名称。原创 2022-11-22 14:40:11 · 377 阅读 · 0 评论 -
PostgreSQL的数据备份和还原
1. 在pgadmin中,选中数据库选择backup,得到一份文件,将后缀改为sql。4.cd到pg的文件夹下,一般在x86 files下,找到bin下。5. 此处打开cmd,执行restore脚本。2. 打开任务管理器,重启pgSQL的服务。3. 重启后删除掉原本的数据库。6. 再次重启pg服务。原创 2022-10-17 10:43:45 · 1501 阅读 · 0 评论 -
DDD/ABP 洋葱架构aka整洁架构
DDD:根据领域划分业务,领域可以无限大或者无限小,这取决于业务分析师(产品经理和技术专家)看一下DDD的分层架构,是多层的,单向的,可以跨级访问的。理解一下:你平常做的任何继承接口的实现,都是在做防腐层的事情,举个例子,某一天你的验证码服务商换掉啦,只需要重新实现其对应接口。外层的代码只能调用内层的代码,内层的代码可以通过依赖注入的形式来间接调用外层的代码。依赖关系是单向的,所以下一层中的代码不能使用上一层中的逻辑。1、内层的部分比外层的部分更加的抽象→内层表达抽象,外层表达实现。原创 2022-09-13 22:47:05 · 820 阅读 · 0 评论 -
DDD/ABP/EF Core :新特性Owned Entity Types ,尝试另外一种值对象的配置方式
前置 笔记:DDD/ABP/EF Core 实现值对象Value Object_董厂长的博客-优快云博客有一说一DDD真tM抽象 :上述博客是实现值对象的通用方法。EF Core实现了一个新特性,owned entity type是EF Core 2.0的新特性。至于什么是owned entity types,可以先把他理解为EF Core官方支持的值对象。举个栗子:《领域驱动设计》中的例子,address是一个经典的值对象。原创 2022-09-05 14:14:50 · 736 阅读 · 0 评论 -
DDD/ABP/EF Core 实现值对象Value Object
有一说一DDD真tM抽象 :原创 2022-09-01 21:49:14 · 857 阅读 · 0 评论 -
EF Core: 使用AsNoTracking减少内存调用 / ABP中使用的注意事项
变动跟踪代理:变动跟踪代理是一种会主动通知Entity Framework实体对象发生变动的机制。如:延迟加载的实现方式。要使用变动跟踪代理,需要在定义的类结构中,Entity Framework可以在运行时从POCO类中创建动态类型并重写POCO属性。当Entity Framework需要知道对象的变动时,将先把当前实体与快照中的对象进行扫描对比。解答:当你使用EFCore 保存修改是的时候,当然需要EF Core帮你跟踪。EF Core技巧:利用为跟踪的状态,先改属性值,再修改状态,保存实体。...原创 2022-08-22 23:13:12 · 1625 阅读 · 0 评论 -
ABP: 关于IRepository不继承IQueryable<TEntity>的问题 / lQueryable和IEnumerable的区别
GetBy....() 代表了一类查询方法,因为我们的业务比较复杂,对 Book 的查询会千奇百怪,所以,没有办法,我们只能增加各类查询方法来满足需求,最后可能导致的结果是,一个 Where 对应一个查询方法,IBookRepository 会充斥着各类查询方法,并且这些查询方法一般只会被一个 Application 方法调用,如果你查看下 GetBy....() 方法实现,会发现其实都大同小异,,最后执行 SaveChanges 就可以了,在持久化数据库的时候,会判断实体状态值的概念,最后进行应用改变。.原创 2022-08-17 16:55:37 · 813 阅读 · 0 评论 -
EF Core: .toList() .toArray() 的作用
很多数据库的ADO.NET Core Provider是不支持多个DataReader同时执行的。一次性加载数据到内存:用IQueryable的ToArray()、ToArrayAsync()、ToList()、ToListAsync()等方法。2、场景2:如果方法需要返回查询结果,并且在方法里销毁DbContext的话,是不能返回IQueryable的。2、DataTable:把所有数据都一次性从数据库服务器都加载到客户端内存中。1、场景1:遍历IQueryable并且进行数据处理的过程很耗时。...原创 2022-08-14 16:48:12 · 635 阅读 · 0 评论 -
EF Core :IQueryable的延迟执行
5、简单判断:一个方法的返回值类型如果是IQueryable类型,那么这个方法一般就是非终结方法,否则就是终结方法。1、IQueryable只是代表一个“可以放到数据库服务器去执行的查询”,它没有立即执行,只是“可以被执行”而已。:GroupBy()、OrderBy()、Include()、Skip()、Take()等。:遍历、ToArray()、ToList()、Min()、Max()、Count()等;2、在查询之后、foreach前后分别加上输出语句,查看输出内容的顺序。的时候不会执行查询,而调用。.原创 2022-08-08 23:27:25 · 713 阅读 · 2 评论 -
EF Core:基于关系的复杂查询 区分IEnumerable和IQueryable
基于关系的复杂查询表结构描述:一个文章带有多个评论,现在想输出所有,评论中带“微软”的文章。换句话说开,只要这个文章中的评论带这个词,就放入集合中去。基于EF Core的实体间关系配置,我们不仅可以让数据的插入、获取等变得非常方便,而且让基于关系的过滤条件的时间也变得非常简单。(where相当于条件过滤)...原创 2022-07-31 15:51:01 · 612 阅读 · 0 评论 -
EF Core: 一对一,多对多的配置
在“一对多”的关系中,很显然是需要在“多”端有一个指向“一”端的列,因此除非我们需要显式的声明一个外键属性,否则EFCore。会自动在“多”端的表中生成一个指向“一”端的外键列,不需要我们显式的声明一个外键属性。多对多的关系配置可以放到任何一方的配置类中,这里把关系配置代码放到了。,因此必须显式的在其中一个实体类中声明一个外键属性。对于一对一关系,由于双方是“平等”的关系,EFCore表关系的配置。外键列可以建在任意一方。...原创 2022-07-28 22:04:13 · 1664 阅读 · 0 评论 -
EF core :自引用的组织结构树
复习一下,需要继承自IEntityTypeConfiguration接口。并且实现Configure方法。父节点and子节点也是OrgUnit类型的属性。描述这样一种情况组织单元形成的一棵树。EFcore的配置。原创 2022-07-24 17:59:51 · 597 阅读 · 0 评论 -
EF Core学习笔记:额外的外键属性 / 单项导航属性
虽然一直在做定制化开发,但是不能总是食嗟来之食。很多东西还是自己必须要掌握的。额外的外键属性为什么需要外键属性1、EF Core会在数据表中建外键列。2、如果需要获取外键列的值,就需要做关联查询,效率低。(各种join)3、需要一种不需要Join直接获取外键列的值的方式。设置外键属性1、在实体类中显式声明一个外键属性。2、关系配置中通过HasForeignKey(c=>c.ArticleId)指定这个属性为外键。3、除非必要,否则不用声明,因为会引入重复。然后记得去配置.原创 2022-07-19 23:14:43 · 1969 阅读 · 1 评论 -
EF Core学习笔记:一对多关系配置
最近迁移项目。发现有表结构是一对多关系。定位申请单对应多个制模。自己对这种关系不够熟悉,不敢乱改。现在补一下基础。数据库表之间的关系:一对一、一对多、多对多(需要一张第三方表来记录)。 1、迁移生成数据库表。2、编写代码测试数据插入。3、不需要显式为Comment对象的Article属性赋值(当前赋值也不会出错),也不需要显式地把新创建的Comment类型的对象添加到DbContext中。EF Core会“顺竿爬”。个人理解:一对多这样配置完,你只要操作 article 表,而不用特意去操作comm原创 2022-07-16 14:02:57 · 1485 阅读 · 0 评论 -
EF Core学习笔记:反向工程 + 底层操作数据库原理
EF core三种建模模式:DB first / Model first / Code first反向工程:根据数据库表来反向生成实体类应用场景:通过旧的数据库生成新的项目命令: Scaffold-DbContext 后面跟上数据库的链接字符串注意1、生成的实体类可能不能满足项目的要求,可能需要手工修改或者增加配置。2、再次运行反向工程工具,对文件所做的任何更改都将丢失。3、不建议把反向工具当成了日常开发工具使用,不建议DBFirst。---------------------------------原创 2022-07-13 20:00:25 · 613 阅读 · 0 评论 -
EF Core学习笔记:关于主键 对IGuidGenerator的理解
提要:公司项目使用Guid 这样就明白了 ABP文档中的这段话。之前被teamleader说过,特意过来补基础。guid算法:它使用网卡MAC、地址、纳秒级时间、芯片ID码和许多可能的数字,这样保证每次生成的GUID永远不会重复,无论是同一个计算机上还是不同的计算机。个人理解:应用于分布式系统,适合高并发。自增id 慢/冲突 这边同样揭开另外一个疑惑,我自己定义一个实体类,会在构造器里写上guid id。但是别人就没写,原因是EF core会自动的加上guid。 拓展的知识点(暂时没遇到过,先记录一下).原创 2022-07-12 22:59:23 · 409 阅读 · 0 评论 -
EF Core学习笔记:配置的方式 特性/Fluent API
前置笔记:EF Core学习笔记:CRUD_董厂长的博客-优快云博客两种配置方式 1.特性配置 2.Fluent Api第一种方式写在实体类中,比较耦合,最好使用第二种。原创 2022-07-07 22:08:14 · 193 阅读 · 0 评论 -
EF Core :迁移已经应用到数据库,进行迁移回滚(附:其他一些命令)
前置笔记:EF Core 迁移数据库,以及对数据库升级的思考_董厂长的博客-优快云博客_efcore 数据迁移这两天一直在学习ABP VNext框架,整到数据库那一块了。发现问了问组里大佬,要使用EFCore迁移数据库。我寻思这和我自己以前搞得不太一样,以前是要写SQL或者直接GUI建表,现在怎么命令行敲一下就自动生成了,写个博客记录一下。EF Core 是一个ORM(对象关系映射),它使 .NET 开发人员可以使用 .NET对象操作数据库,避免了像ADO.NET访问数据库的代码,开发者只需要编写对象即可原创 2022-07-06 11:06:01 · 2030 阅读 · 4 评论 -
EF Core学习笔记:CRUD
EF Core学习笔记:基本的流程_董厂长的博客-优快云博客EF Core 迁移数据库_董厂长的博客-优快云博客_efcore 数据迁移这两天一直在学习ABP VNext框架,整到数据库那一块了。发现问了问组里大佬,要使用EFCore迁移数据库。我寻思这和我自己以前搞得不太一样,以前是要写SQL或者直接GUI建表,现在怎么命令行敲一下就自动生成了,写个博客记录一下。EF Core 是一个ORM(对象关系映射),它使 .NET 开发人员可以使用 .NET对象操作数据库,避免了像ADO.NET访问数据库的代原创 2022-07-05 23:27:34 · 340 阅读 · 0 评论 -
EF Core学习笔记:基本的流程
EF Core 迁移数据库_董厂长的博客-优快云博客_efcore 数据迁移这两天一直在学习ABP VNext框架,整到数据库那一块了。发现问了问组里大佬,要使用EFCore迁移数据库。我寻思这和我自己以前搞得不太一样,以前是要写SQL或者直接GUI建表,现在怎么命令行敲一下就自动生成了,写个博客记录一下。EF Core 是一个ORM(对象关系映射),它使 .NET 开发人员可以使用 .NET对象操作数据库,避免了像ADO.NET访问数据库的代码,开发者只需要编写对象即可。1.获取EF Core 通过N原创 2022-06-30 22:23:32 · 328 阅读 · 0 评论 -
ABP学习笔记:关于C#的投影 Projection
最近在看LINQ查询,发现很多有意思的操作。看教程的时候发现投影这个概念,emmm完全没概念了。赶紧找资料看一下。奥,学WinForm时候没用过这个,怪不得好陌生。Select 投影为了演示目的,我先构造一个 Author 类,代码如下:下面的代码展示了如何使用 Select 操作去查询数据。从上图中可以看到,所有作者的名字都展示到控制台了。投影到 匿名类型你可以从一个数据源中投影多个属性,也可以将查询结果投影到匿名类型中,下面的代码片段展示了如何将多个属性投影到 匿名类型 中。原创 2022-06-13 22:51:22 · 202 阅读 · 0 评论 -
ABP处理非结构化数据的方式:分布式文件系统minio(给出模版代码)
这两天再搞pdf上传的事情。一开始想法是。前端传Base64块,后端接受,存服务器,相关实体存路径。后来实际看项目发现并没有产品经理所谓的“公司网盘”这个东西。。。然后去ABP官网看了看关于非结构化数据存储的东西。原来放在了基础设施层。ABP框架为BLOB提供了抽象,并提供了一些可以轻松集成到的预构建存储提供程序. 好处;你可以通过几行配置轻松的集成你喜欢的BLOB存储提供程序. 你可以轻松的更改BLOB存储,而不用改变你的应用程序代码. 如果你想创建可重用的应用程序模块,无需假设原创 2022-05-23 22:55:30 · 554 阅读 · 0 评论 -
服务的生命周期,以及使用场景的思考
前置笔记:ABP学习笔记:领域服务 和 应用服务 区别_董厂长的博客-优快云博客_领域服务和应用服务区别https://blog.youkuaiyun.com/dongnihao/article/details/124230454?spm=1001.2014.3001.5502发现IDmainService继承了ITransientDependency,准备仔细研究一下服务的生命周期区别。AddSingelton(): 顾名思义,AddSingleton()方法创建一个'Singleton'服务。.原创 2022-05-05 16:33:44 · 1112 阅读 · 0 评论 -
实际开发中关于LINQ的一些注意点
首先上基础教程链接:https://www.jb51.net/article/176436.htmhttps://www.jb51.net/article/176436.htm实际开发中,一般select会返回一个新的对象,建议先定义好。如图所示,从两张表查询信息,结合之后出现一个新的对象集合,那么就需要先定义好此对象的属性。这是另外一种写法。其他的拓展方法,看一下MSDN...原创 2022-05-05 15:30:26 · 309 阅读 · 0 评论 -
线程,线程池,TASK,Async Await,LINQ
1.Task2.线程池3.0 TASK3.1.TASK CPU3.2.TASK WAIT4.Async Await5.LINQ5.1.并行LINQ原创 2022-05-02 20:45:42 · 504 阅读 · 0 评论 -
postgreSQL中的基本操作
postgreSQL13 PGADMIN4中查询、修改、删除数据表中的内容_dorlolo的博客-优快云博客_pgadmin4怎么看表中数据最近一些bug不得不去数据库查询。记一下,以防以后忘了原创 2022-04-14 15:46:03 · 647 阅读 · 0 评论 -
ABP学习笔记:初步理解仓储
一.仓储的简单介绍仓储(Repository):这是属于领域层的重要组成部分,它的作用就是完成和数据库的交互工作,仓储里封装了很多操作数据库的方法。所以说仓储是数据映射层和领域层的交互中介。ABP针对不同的ORM框架对仓储的接口做了实现,当然这些实现只是针对一些比较常用的数据操作,对于一些复杂的接口,需要自己实现,当然大多数情况下,ABP框架实现的接口,已经完全够用的。...原创 2022-03-19 22:41:10 · 1822 阅读 · 0 评论 -
(vc#2010)winform如何设置启动多项目 and 设置启动窗口
PART1在上个月做socket通讯室时候建了两个启动项目,但是在vc#里面他是不可以直接启动两个项目的上图,怎么改右键你的project , 然后找到设置启动项目,点击进去点击设置多启动项目,在操作里设置改为启动,然后你点击run时候,你想要运行的项目都会运行起来。PART2好的,现在我又在做数据库的作业,此时此刻问题来了,我都是写在一个pro...原创 2019-11-05 06:11:59 · 426 阅读 · 0 评论 -
在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器
今早开机发现,打开SQL Server 2008 的 SQL Server Management Studio,输入sa的密码发现,无法登陆数据库?提示以下错误: “在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器。请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接。 (provider: 命名管道提供程序, error: ...转载 2018-11-06 00:50:11 · 847 阅读 · 4 评论