ef

03-EF Core笔记之查询数据

匿名 (未验证) 提交于 2019-12-02 23:48:02
EF Core使用Linq进行数据查询。 微软提供了一百多个示例来演示查询,地址: https://code.msdn.microsoft.com/101-LINQ-Samples-3fb9811b 我们可以通过下面的代码进行简单的查询: //获取全部数据 var blogs = context.Blogs.ToList(); //获取单个实体 var blog = context.Blogs.Single(b => b.BlogId == 1); //筛选 var blogs = context.Blogs .Where(b => b.Url.Contains("dotnet")) .ToList(); EF Core有三种常见模型来加载关联数据: 预先加载:表示从数据库中加载关联数据,作为初始查询的一部分 显式加载:表示稍后从数据库中显式加载关联数据 延迟加载:表示在访问关联数据时,再从数据库中加载关联数据 使用 Include 方法指定要包含在查询结果中的关联数据。例如: using (var context = new BloggingContext()) { var blogs = context.Blogs .Include(blog => blog.Posts) .Include(blog => blog.Owner) .ToList(); } 关联数据可以是有层级的

Linux ps -ef vs. ps aux(ps -aux)

南笙酒味 提交于 2019-12-02 23:42:40
ps aux、ps -aux、ps -ef之间的区别 - wynter_的博客 - CSDN博客 https://blog.csdn.net/wynter_/article/details/73825978 1. ps aux和ps –aux 请注意"ps -aux"不同于"ps aux"。POSIX和UNIX的标准要求"ps -aux"打印用户名为"x"的用户的所有进程,以及打印所有将由-a选项选择的过程。如果用户名为"x"不存在, ps的将会解释为"ps aux" ,而且会打印一个警告。这种行为是为了帮助转换旧脚本和习惯。它是脆弱的,即将更改,因此不应依赖。 综上: 使用时两者之间直接选择 ps aux http://walkerxk.blog.sohu.com/150633165.html http://blog.chinaunix.net/uid-24701781-id-3343264.html 2. ps aux 和ps -ef 两者的输出结果差别不大,但展示风格不同。 aux是BSD风格,-ef是System V风格。 这是次要的区别,一个影响使用的区别是aux会截断command列,而-ef不会。当结合grep时这种区别会影响到结果。 举例请参考: http://www.2cto.com/os/201303/197697.html 综上:以上三个命令推荐使用:ps

简谈Entity Framework的优缺点

匿名 (未验证) 提交于 2019-12-02 22:10:10
Entity Framework简介 除了EF之外,daoNet平台下还有许多的ORM框架:Nibernate,Dapper,PetaPoco等等 EF的优点 跨数据库支持能力强大,只需修改配置就可以轻松实现数据库切换 提升了开发效率,不需要在编写Sql脚本,但是有些特殊Sql脚本EF无法实现,需要我们自己编写(通过EF中的ExecuteSqlCommadn实现插入,修改,删除,SqlQuery执行查询) EF提供的模型设计器十分强大,可以让我们清晰的指定或者查看表与表之间的关系(一对多,多对多..) EF提供的导航属性十分好用 EF的延迟查询加载机制,数据在用到的时候才会去数据库查询 EF的缺点   第一次执行时会有预热,预热时性能较差,不过将映射关系加载到内存之后就会好很多   EF的侵入性很强,一旦在项目中使用,很难将其撤掉(毕竟用起来十分的爽) 关于EF的使用在这里就不在多说,以上的总结是本人在学习和使用中,查询资料总结出来的(本人目前还是一名在校生),如果有什么不对的地方,请大家指出,本人会立即更改! 文章来源: 简谈Entity Framework的优缺点

ASP.NET CORE系列【二】使用Entity Framework Core进行增删改查

匿名 (未验证) 提交于 2019-12-02 22:10:10
介绍 EntityFrameworkCore EF core 是一个轻量级的,可扩展的EF的跨平台版本。对于EF而言 EF core 包含许多提升和新特性,同时 EF core 是一个全新的代码库,并不如 EF6 那么成熟和稳定。 EF core 保持了和EF相似的开发体验,大多数顶级API都被保留了下来,所以,如果你用过EF6,那么上手EF core你会觉得非常轻松和熟悉,EF core 构建在一套全新的核心组件上,这意味着EF core没有从EF上继承所有特性。一些特性会在未来的版本中发布(例如 延迟加载和弹性链接),其它一些不常用的特性不会在EF core中实现。 全新的,可扩展的,轻量级的EF core,允许我们添加一些在EF6中未实现的特性(例如 alternate keys,和在Linq中混合计算混合的数据库) 安装并配置 使用NuGet包管理工具下载ef Core 发一下文字 Microsoft.EntityFrameworkCore.SqlServer 安装这个的时候,会自动安装所需依赖,装完就可以尽情的使用EFCore了。 1.新建一个Model作为测试数据 2.新建Uitl文件夹存放EF相关的类, 3.给Context进行注入 4修改配套的 DefaultConnection 6.Startup中修改Configure方法,调用刚刚的方法 使用EF Core

EF中使用SQL语句或存储过程

匿名 (未验证) 提交于 2019-12-02 22:10:10
EF中使用SQL语句或存储过程 1、无参数查询 var model = db.Database.SqlQuery<UserInfo>( "select* from UserInfoes " ).ToList(); 2、有参查询 var model = db.Database.SqlQuery<UserInfo>( "select* from UserInfoes where id=@ID " , new SqlParameter( "@ID" ,id)).ToList(); 3、结合linq查询 var model = ( from in db.userinfo.SqlQuery( "select * from UserInfoes where id=@ID" new SqlParameter( "@ID" select p).ToList(); 4:EF原始查询单独表 model = db.userinfo.OrderByDescending(a => a.ID).Skip(10 * (当前页 - 1)).Take(10).ToList(); 5,EF 执行存储过程或delete 删除语句 new SqlParameter[] { new SqlParameter( "@ID" ,id) }; db.Database.ExecuteSqlCommand( , para);

C#中 EF 性能优化

匿名 (未验证) 提交于 2019-12-02 22:09:29
https://www.cnblogs.com/chenwolong/p/7531955.html   EF使用AsNoTracking(),无跟踪查询技术(查询出来的数据不可以修改,如果你做了修改,你会发现修改并不成功) 来源:博客园 作者: 低调码农哥! 链接:https://www.cnblogs.com/personblog/archive/2019/09/21/11562941.html

sqlserver使用EF模型经验

匿名 (未验证) 提交于 2019-12-02 22:06:11
sqlserver使用EF模型经验 EF模型使用本人在之前两三年中从没使用过,所以刚开始使用就会踩上许多的坑。今天我不单单说下自己所踩的一些坑与当前公司中使用EF模型设计的理念,即是为我自己做个笔记,也是为其他人提供一个经验吧,但本人刚接触不久,有理解错误的还请大家能够多多指教。 首先说一下我现在所在公司的设计理念是怎么样的 公司数据库的设计模式是怎么样的 EF模型设计图表 sequenceDiagram 客户库 ->> 开发库: 客户相关表用视图关联 开发库-->>EF导入库:, Note left of EF导入库: 对于需要操作的表设计一样的表,只需要查询的可以设计为视图 EF导入库-->> edmx文件: , Note left of edmx文件: 导入相关表结构生成实体模型 这将产生一个流程图。: graph TD A[service] -- 执行 中间省略其他业务操作说明--> B((DA数据交互)) B --更新实体数据--> C{emdx实体类} C --通过EF导入库生成的emdx实体--> D(生成sql语句) D--更新数据-->E((开发库数据表)) E--更新-->F{客户库中的数据表} A--连接执行数据库-->E 分析两个图表: 我们从第一张表中可以看出有三个数据库,一个是客户的数据库,一个为开发使用的数据库,还有一个是导入模型使用的库

asp.net core系列 33 EF查询数据 (2)

匿名 (未验证) 提交于 2019-12-02 22:06:11
一. 原生SQL查询 。 原始 SQL 查询可返回实体类型,或者从 EF Core 2.1 开始,可返回模型中的查询类型。       1.1 基本的原始SQL查询     可以使用FromSql扩展方法,基于原始的SQL查询,开始LINQ查询。 var blogs = context.Blogs .FromSql("SELECT * FROM dbo.Blogs") .ToList(); --通过sql server profiler监听的sql,如下所示: select * from dbo.blogs    1.2 原生 SQL 查询可用于执行存储过程(GetMostPopularBlogs) var blogs = context.Blogs .FromSql("EXECUTE dbo.GetMostPopularBlogs") .ToList();   1.3 传递参数     在使用FromSql执行原始sql查询时,传递参数要防止SQL注入攻击, 可以在SQL查询字符串中包含参数占位符,然后提供参数值作为附加参数。 任何参数值将自动转换为DbParameter来防止SQL注入 。 var id = 4; var blgos= BloggingContext.Blogs.FromSql("select * from dbo.blogs where BlogId={0}"

EF的应用

匿名 (未验证) 提交于 2019-12-02 22:06:11
首先说明一下: 添加EF 之后,会自动的给程序添加实体类。 EF的增加: 首先实例化刚才添加的EF ,再用对象初始化器将自己要添加的对象实例化,然后使用EF添加再保存即可。案例: EFDBEntities efdb = new EFDBEntities(); Students objStudent = new Students() { StudentName = "小明", ClassId = 2, Gender = "男" }; efdb.Students.Add(objStudent); int result = efdb.SaveChanges(); 代码详解: 首先实例化了 EF 然后使用对象初始化器将自己要添加的对象实例化 接下来用自己实例化的EF 添加一下刚才实例化后的对象 最后保存到数据库中。 最后两部的解释:这两行代码看似是冗余的,但是实际上并不冗余,少了哪一行代码都不行。其中 第一行代码就是将这个对象添加到缓存中,但是并没有上交到数据库中,而第二行代码就提交到了数据库中,然后用一个int类型的参数接受执行的行数。 (修改) 想修改,就要先找到要修改的对象。 首先还是实例化EF 其次就是查找需要修改的学员的对象。 (由于修改中用到了查询,所以在这里就不介绍查询了。直接参照这个修改的查询就可以了。) 修改各个属性的值 提交保存 在这里用到了两种查询方式,用哪个都可以