微软象关系对应(O/R Mapping)

Entity Framework的全称是ADO.NET Entity Framework,是微软开发的基于ADO.NET的ORM(Object/Relational Mapping)框架。

Entity Framework的主要特点:

1. 支持多种数据库(Microsoft SQL Server, Oracle, and DB2);

2. 强劲的映射引擎,能很好地支持存储过程;

3. 提供Visual Studio集成工具,进行可视化操作;

4. 能够与ASP.NET, WPF, WCF, WCF Data Services进行很好的集成。

已有打开的与此命令相关联的 DataReader,必须首先将它关闭。

2018年05月04日

最近在修改项目的时候,报如下错误:已有打开的与此命令相关联的 DataReader,必须首先将它关闭。出现问题的原因:在SqlCommand在每次执行ExecuteNonQuery()方法之后,内部会生成一个空的DataReader对象,该对象只有在数据库连接关闭之后,才会被释放掉。如果有两个查询同时在进行,在第一个查询还未结束,数据库连接对象还未关闭,第二个查询却已经开始查询,所以才会出现Dat...

在提供程序连接上启动事务时出错。有关详细信息,请参阅内部异常。

2018年05月04日

最近在执行更新的时候,出现了如下错误:在提供程序连接上启动事务时出错。有关详细信息,请参阅内部异常。具体代码如下:public async Task SaveZhihuImagesToLocal() { using (UnitOfWork uow = new UnitOfWork()) { var GetALLBlogsId = uow.ZhiHuRepos...

无法解析包“Microsoft.EntityFrameworkCore.Tools.DotNet”的版本

2018年04月12日

最近在使用Visual Studion Code的时候,报如下错误:未找到与命令“dotnet-ef”匹配的可执行文件之后参照了未找到与命令“dotnet-ef”匹配的可执行文件这篇文章之后,还是报错,报错内容如下:无法解析包“Microsoft.EntityFrameworkCore.Tools.DotNet”的版本应该是包的版本有问题,但是现在也不知道用那个版本可以,之后又参考了这篇文章:En...

无法删除此对象,因为未在 ObjectStateManager 中找到它

2018年02月02日

今天在修改多数据删除的时候,删除父数据,首先要删除子数据,在EntityFramework中执行如上删除代码如下:using (var uow = new UnitOfWork()) { var Article = uow.BlogRepository.Get(x => x.Id == id); if (Article == null) { r...

存储区更新、插入或删除语句影响到了意外的行数(0)

2017年12月24日

最近使用Entity Framework做更新的时候,出现了如下错误:存储区更新、插入或删除语句影响到了意外的行数(0)。实体在加载后可能被修改或删除。有关了解和处理乐观并发异常的信息,请参阅 http://go.microsoft.com/fwlink/?LinkId=472540。代码如下:using (UnitOfWork uow = new UnitOfWork()){ var Zh...

entity framework中 已有打开的与此 Command 相关联的 DataReader,必须首先将它关闭

2017年12月24日

最近要用Entity Framework更新数据,代码如下:using (UnitOfWork uow = new UnitOfWork()){ var ZhiHuAll = uow.ZhiHuExtendRepository.GetAll(); foreach (var item in ZhiHuAll) { string newFileName = Guid.N...

[AutoMapper] AutoMapper 5.0.2 的新寫法

2017年11月30日

在 4.2 的時候,CreateMap 方法只是被標記過時到了 5.0.2 的時候,這些過時的方法,已經被拔掉,改由 MapperConfiguration 取代,一旦升級到 5.0.2 就勢必要面臨改寫程式,也獲得到超高效能https://lostechies.com/jimmybogard/2016/06/24/automapper-5-0-speed-increases/靜態方法固然方便,但...

EntityFramework一对一关系

2017年11月30日

如果我们要将两个类配置为一对一关系,则两个类中都要配置相应的引用属性,如:public class Person { public int PersonId { get; set; } public int SocialSecurityNumber { get; set; } public string FirstName { get...