
EntiryFramework
文章平均质量分 62
天马3798
济南小程序开发,济南网站开发,线上引流过客;济南.net 开发,济南C#开发,济南nodejs开发
展开
-
ef core $ 附近有语法错误_ef core contains $符近语法错
安装 SQL Server 2016 或更高版本的数据库,或者修改数据库本身的兼容性设置到 SQL Server 2016 或更高。而且即便数据库引擎版本达到,数据库本身的兼容性设置如果低于 SQL Server 2016 的话,也会报错。是因为 .net 8 优化了 Contains 子句的 SQL 翻译,之前的 IN 查询有性能问题。但这个优化只有 SQL Server 2016 及以上版本的数据库支持,否则就会报这个错。原创 2024-10-30 19:30:48 · 743 阅读 · 0 评论 -
efcore 8A connection was successfully established with the server, but then an error occurred during
或者加(Encrypt=True;原创 2024-02-05 16:13:30 · 696 阅读 · 0 评论 -
EF Core8 Only the invariant culture is supported in globalization-invariant mode
一、Only the invariant culture is supported in globalization-invariant mode。报错显示:这个问题是由于.NET Core应用程序在全球化模式下运行,而该模式只支持不变的文化,而不支持其他任何文化。修改 项目文件.csproj。原创 2024-02-05 16:09:14 · 960 阅读 · 0 评论 -
EfCore 表关系一对一,使用案例
EfCore 表关系一对一,使用案例2.查询学生+成绩;过滤掉,没有成绩记录的学生。1.添加学生信息和学生的成绩。原创 2022-07-19 13:51:58 · 1021 阅读 · 0 评论 -
The instance of entity type ‘Model‘ cannot be tracked because another instance with the same key val
无法跟踪实体类型“Model”的实例,因为已经在跟踪具有相同键值{'Id'}的另一个实例。在附加现有实体时,请确保只附加一个具有给定键值的实体实例。EnableSensitiveDataLogging'查看冲突的键值。从EF Core 6.0开始,这种类似的错误几乎很少出现;此次出现问题,也是针对部分用户出现,并非所有情况都出现异常,点击处理,还是处理 关联表数据,然后删除时候抛出异常。进入列表,查询Include 关联表数据。在使用EF Core 的时候,原创 2023-07-06 20:58:58 · 2363 阅读 · 0 评论 -
EF 框架的简介、发展历史;ORM框架概念
ORM是通过使用描述对象和数据库之间映射的元数据,在我们想到描述的时候自然就想到了xml和特性(Attribute).目前的ORM框架中,Hibernate就是典型的使用xml文件作为描述实体对象的映射框架,而大名鼎鼎的Linq则是使用特性(Attribute)来描述的。3.【更新操作】 EF自动优化,只update set 有变化的字段,EF也可以很方便地只更新 实体的指定属性,产生的sql语句里的set后的字段会更少;中的一套支持开发面向数据的软件应用程序的技术,是微软的一个ORM框架。原创 2023-02-25 10:55:35 · 2669 阅读 · 0 评论 -
ef core 读取text类型慢_ef core读取大字符串字段慢
当服务器配置低,text富文本字符串比较大超过100kb的时候,使用ef读取数据明显变慢。再客户编辑富文本时候,复制粘贴后去掉样式,重新排版。2.详情读取内容,将关联表数据和text的字段分开查询或者,拆分成2个接口。业务方案优先考虑,如果确实字段需要内容大,再考虑下方技术方案。1.列表读取内容过滤掉text的字段,不从数据读取大文本。关联表和text大文本字段,分开获取;1.text类型富文本字段内容太长,100kb以上。此两种特点,导致efcore读取数据慢,慢的明显。...原创 2022-07-27 12:25:54 · 786 阅读 · 0 评论 -
EF Core 批量写入数据使用整理(二)Z.EntityFramework.Extensions.EFCore
一、Z.EntityFramework.Extensions.EFCore 使用当前EFCore链接扩展可以协助批量添加,批量修改,批量删除等操作。命令:Install-Package Z.EntityFramework.Extensions.EFCore Nuget安装:Nuget链接:NuGet Gallery | Z.EntityFramework.Extensions.EFCore 6.13.20ggg官网链接:Entity Fram原创 2022-05-21 15:50:30 · 2028 阅读 · 0 评论 -
EF Core 批量写入数据使用整理_EF Core批量插入数据(一)
一、EF Core 批量添加数据 问题详解 AddRange()问题整理:1.对于批量写入数据,每次几万条情况 使用 Add() 方法不合理2.使用AddRange() 每次批量写入数据也要有个数限制,不然也会异常报错3.批量写入数据,如果Sqlserver 日志文件或者磁盘空间占满也会抛出异常。4.批量写入需要控制对象的字符数量,字符数量大的写入慢没太多优化空间,看你的磁盘和硬件情况了。批量数据写入解决方案:1.写入每条数据字符量尽可能小2.分段写入,避免内存不足异常原创 2022-05-21 15:31:40 · 4570 阅读 · 0 评论 -
EFCore 关联表查询_多表使用整理
一、EF Core 查询出关联表数据EF Core 默认不支持查询中带出关联表数据,如果需要则使用Include() 声明加载ctx.Categories .Include(c => c.Products) .Include(c => c.News);二、EF Core 关联表条件筛选场景案例举例子1. Sql 语句场景 需求举例---查询指定角色下的菜单select * from Sys_Navigationwhere NavID in(s原创 2022-03-19 15:07:36 · 8946 阅读 · 0 评论 -
Ef Core 使用Entity方式配置外键
一、Ef Core 使用Entry方式配置外键当一个表中有多个外键指向同一个表时候,需要使用Entity方式执行具体外键约束名称,使用方法如下:protected override void OnModelCreating(ModelBuilder modelBuilder){ modelBuilder.Entity<DycUserConcern>(entity => { entity.HasOne(q => q.MemberInfo2原创 2022-03-16 15:53:08 · 3936 阅读 · 0 评论 -
EF null字段排序后置_Sql中Null字段排在后边
一、Sql中 null字段的排序处理null字段当做最小值,或者0,参与排序案例:sql:create table NumOne(ID int identity(1,1),Num int null,primary key(ID));goinsert NumOne values(1);insert NumOne values(10);insert NumOne values(5);insert NumOne values(3);insert NumOne values(原创 2021-07-29 15:25:42 · 651 阅读 · 0 评论 -
EF Linq To Sql 常用查询整理_常用使用方式整理
EF Linq To Sql 常用查询整理_常用使用方式整理此处案例使用的.net 5.0框架, EntityFrameworkCore的代码,多数使用场景跟.net framework中相同。使用到的命名空间using System.Linq; // Linqusing System.Collections.Generic; //Listusing Microsoft.EntityFrameworkCore; // Include()常用的查询方式整理如下:一、查询 和 多.原创 2021-02-27 11:06:22 · 2759 阅读 · 0 评论 -
EF And 和Or 条件拼接扩展整理
一、EF And 和Or 条件拼接扩展 public static class Utility { public static Expression<T> Compose<T>(this Expression<T> first, Expression<T> second, Func<Expression, Expression, Expression> merge) { .原创 2021-01-25 16:35:38 · 1426 阅读 · 0 评论 -
数据库中字段类型对应的C#中的数据类型
数据库中字段类型对应C#中的数据类型:此处以SqlServer为例数据库 C#程序 int int32 text string bigint int64 binary System.Byte[] bit Boolean char string d转载 2016-09-23 16:07:03 · 6853 阅读 · 0 评论 -
EF Attatch()方法附加对象
一、在EF中Attatch()方法用于将实体对象附加到数据库上线文注:Attach()的附加是“无状态”的附加,需要使用Entry()方法获取配置DbEntityEntry的State操作状态,不然是无效的。 // // 摘要: // 将给定实体附加到集的基础上下文中。也就是说,将实体以“未更改”的状态放置到上下文中,就好像从数据库读取原创 2017-06-17 16:37:50 · 1794 阅读 · 0 评论 -
SqlServer 大量数据热汇总优化整理
一、大量数据热汇总查询优化查询性能提升方式:1.为汇总查询列创建非聚集索引,索引很大的方面提升查询性能2.尽量避免分组汇总,解决方法将分组汇总改成多次查询3.使用多线程或者或者说多任务,对汇总查询性能并没有提升。二、操作示例,测试数据基数20万1.分组查询代码public IEnumerable getSummaryTotalDataSourceByCode(out i原创 2017-06-30 18:52:58 · 1744 阅读 · 0 评论 -
EF中Sum()异常:到值类型“System.Decimal”的强制转换失败,因为具体化值为 null。
一、使用EF访问数据库求和时经常遇到这样的异常“System.InvalidOperationException”类型的未经处理的异常在 EntityFramework.dll 中发生 其他信息: 到值类型“System.Decimal”的强制转换失败,因为具体化值为 null。结果类型的泛型参数或查询必须使用可以为 null 的类型。截图:代码:decimal原创 2016-12-28 16:07:02 · 16730 阅读 · 2 评论 -
C# EF CodeFirst简单工厂模式,接口多继承实例(二)
此处承接一:http://blog.youkuaiyun.com/u011127019/article/details/51384478补全抽象接口 IBaseAbstract /// /// 基础访问接口,使用泛型 /// public interface IBaseAbstract where T : class { #region 基础访原创 2016-09-12 15:03:28 · 1820 阅读 · 0 评论 -
C# EF CodeFirst简单工厂模式,接口多继承实例
1.基层接口,定义基本访问方法/// /// 基础访问接口,使用泛型/// public interface IBaseAbstract where T : class{ #region 基础访问 /// /// 获取表达式树 /// /// DbSet GetDbSet(); /// /// 获取对象 /原创 2016-05-12 15:30:08 · 2187 阅读 · 0 评论 -
EF Linq字符串模糊查询整理
一、基础模糊查询1.判断是否为空或者nullstring.IsNullOrEmpty(des.PlateNum)————————>sql server的PlateNum is null的判断from des in db.ModelsVehicleRecognition where (!string.IsNullOrEmpty(des.PlateNum)) select new原创 2017-11-07 16:32:28 · 6957 阅读 · 0 评论 -
EF日期格式筛选_EF常用日期筛选逻辑整理
一、EF日期格式筛选,获取本年,本月,本日等1.直接使用DateTime的部分值相等//获取上一个月 DateTime date = DateTime.Now.AddMonths(-1); int count = _context.students.Where(q => q.sbirthday.Value.Yea原创 2017-01-03 11:38:06 · 13149 阅读 · 0 评论 -
EF 根据绝对值排序处理
一、根据绝对值排序查询 QLLB_SWXContext _Context = new QLLB_SWXContext(); int num = 100; //排序处理 List<Article> list = _Context.Article //根据绝对值排序 .OrderBy(q => Math.Abs(q...原创 2019-03-30 10:42:49 · 671 阅读 · 2 评论 -
EF批量操作数据之EntityFramework.Extended
一 、EntityFramework.Extented整理Git源代码地址:https://github.com/loresoft/EntityFramework.Extended二 、使用 实例1.批量添加 数据 AddRange()发放,EF自带改方法TestOne _context = new DBA.TestOne();DateTime start = DateT原创 2017-05-10 17:47:37 · 6752 阅读 · 0 评论 -
EF 汇总函数使用注意事项Max()/Min()等
一、字符串类型最大值1.字符串类型的最大值,和数据库的字典排序最后一个相同,如果存在返回null//字符串最大值,是字典排序最后一个string max1 = _context.students.Max(q => q.sname);Console.WriteLine(max1);//字符串最大值,如果不存在返回nullstring max2 = _context.students原创 2017-03-11 10:11:32 · 8471 阅读 · 0 评论 -
EF实体对象变动跟踪
Entity Framework 通过DbContext.ChangeTracker对实体对象的变动进行跟踪,实现跟踪的方式有两种:变动跟踪快照和变动跟踪代理。 变动跟踪快照:前面几篇随笔的示例都是通过实体对象变动快照跟踪来实现数据操作的,POCO模型不包含任何逻辑去通知Entity Framework实体类属性的变动。Entity Framework在第一次对象加载到内存中时进行一次快转载 2016-12-30 12:02:32 · 8513 阅读 · 0 评论 -
EntityFramework中JSON序列化循环引用----JavaScriptSerializer
一、JavaScriptSerializerJavaScriptSerializer是ASP.Net 自带的JSON序列化和反序列化工具,例如:MVC中的JsonResult也是使用的它。位于:程序集 System.Web.Extensions 中namespace System.Web.Script.Serialization{ // // 摘要: //原创 2016-12-23 11:53:34 · 2728 阅读 · 0 评论 -
EntityFramework中Json序列化的循环引用问题解决--Newtonsoft.Json
1.在使用EF时,由于数据库主外键关联,将对象进行Json序列化时会遇到循环引用的问题//EF 中由于数据库主外键关联,对象的序列化经常出现循环引用问题//使用.Net 自带的序列化工具,序列化出现循环引用问题List list = _Context.students.ToList();JavaScriptSerializer ser = new JavaScriptSerializer原创 2016-06-18 18:24:23 · 10896 阅读 · 8 评论 -
EF日期筛选异常:SqlServer.DATEDIFF”函数的 DATEPART 参数必须是文字字符串。
一、在使用EF日期筛选的时候可能会出现这样的异常:“SqlServer.DATEDIFF”函数的 DATEPART 参数必须是文字字符串。”出现异常的代码:DateTime date = DateTime.Now.AddYears(-1);string dateType = "month";int count1 = _member.DbSet.Where(q => SqlFunctio原创 2017-01-03 11:48:06 · 5830 阅读 · 0 评论 -
SqlServer链接字符串整理
一、.NET Framework Data Provider for SQL Server类型:.NET Framework类库使用:System.Data.SqlClient.SqlConnection厂商:Microsoft标准安全连接Data Source = myServerAddress;Initial Catalog = myDataBase;User Id转载 2016-11-22 09:46:32 · 4325 阅读 · 0 评论 -
EF Invalid column name 'Discriminator'
EF 异常{"Invalid column name 'Discriminator'.\r\nInvalid column name 'Discriminator'."执行Sql 语句如下:{SELECT [Extent1].[Discriminator] AS [Discriminator], [Extent1].[ID] AS [ID], [Exten转载 2016-08-26 10:47:36 · 2655 阅读 · 0 评论 -
Linq To Entity多条件or查询处理
1.多条件OR使用实例://学费if (string.IsNullOrEmpty(tuition) == false && tuition != "0"){ Expression> orQuery = q => false; foreach (var item in tuitionID) { Tuition tui = Tuition.GetMo原创 2016-07-11 14:20:41 · 4731 阅读 · 0 评论 -
EntifyFramework6.0延迟加载、动态代理实例
结论:1.默认 EntityFramework 使用延迟加载,使用动态代理实例2.无论是否启用延迟加载,对于IQueryable 都是在拼接查询sql,并没有直接去数据库执行sql3.跟踪实践证明,对于关联表数据获取没有没有跟踪到执行Sql语句(不一定正确)4.不使用延迟加载或动态代理实例,无法获取关联表的数据1.EF访问数据库跟踪//1.默认 EntityFramewor原创 2016-05-11 19:42:25 · 1481 阅读 · 0 评论 -
EF Code First数据提交前进行模型验证/数据验证
1.执行sql前数据验证,如果失败抛出异常,验证失败信息,在注释方法中可以自定义/// /// 模型验证/// public bool IsValided(T model) where T : class{ DbEntityValidationResult vResult = Context.Entry(model).GetValidationResult(); if原创 2016-05-12 15:34:52 · 4274 阅读 · 0 评论 -
关于EF6.0整理
一、EntityFramework实体框架官方文档:https://msdn.microsoft.com/en-us/library/aa937723(v=vs.113).aspxhttps://msdn.microsoft.com/en-us/library/ee712907(v=vs.113).aspxCodePlex源代码地址:https://entityframewor原创 2016-12-30 14:21:33 · 2757 阅读 · 0 评论 -
EntiryFramework中事务操作(三)事务回滚数据模型和数据库不对应问题
一、关于事务回滚数据模型和数据库不对应问题1.在使用事务时,无论是使用DbContextTransaction,还是使用TransactionScope,如果在事务中出现异常而回滚,都有可能出现这种情况,数据库数据已经回滚,但是实体模型缓存没有回滚。出现数据的不一致行。2.这种情况出现的原因: 1.EF中对于查询的实体对象在内存中有缓存,用于数据的状态跟踪,提升性能。 2.原创 2016-12-30 11:54:09 · 5152 阅读 · 0 评论 -
EntiryFramework中事务操作实例
一、在EF中使用事务操作1.EF中的事务操作默认情况下会阻塞其他进程的读取操作2.分布式事务TranscationCope需引用System.data.Transcations.dll才能使用,TranscationCope进行多事务协调时需安装与设置MSDTC组件。3.分布式事务与EF事务二者区别,主要区别在于前者用于一个数据连接中控制数据一致性,后者在多个数据库连接中控制数据一致性原创 2016-12-23 15:29:25 · 3124 阅读 · 0 评论 -
EF中查看上下文执行的Sql语句
一、查看当前拼接条件的Sql语句IQueryable().ToString() 返回当前要执行的sql OneContext _context = new OneContext();var query = _context.scores.Where(q => false) .Select(q => q.degree) .DefaultIfEmpty();Console.原创 2017-03-11 10:03:28 · 15469 阅读 · 0 评论 -
EF获取非跟踪数据之DBSet.AsNoTracking()
一、EF中用户查询非跟踪数据的方式是使用DBSet.AsNoTracking()1.目前EF版本是6.0,生成的数据库实体模型都是DbSet类型2.默认情况下对于数据的访问都是启用模型跟踪ctx.Configuration.AutoDetectChangesEnabled=true自动调用DbContext.ChangeTracker.DetectChanges的方法:原创 2016-12-30 14:14:24 · 18329 阅读 · 0 评论 -
EF GroupBy多个字段
GroupBy根据多个字段分组使用方式:一、使用扩展方法query.GroupBy(q => new { q.Year, q.Month }) .Select(q => new { Year = q.Key.Year, Month = q.Key.Month, BuildAmount = q.Sum(i => i.BuildA原创 2017-02-09 08:52:00 · 25917 阅读 · 0 评论