在WinForm系统中遇到了个问题,Form1是查询窗口,根据条件查询出所有数据,双击列表后创建弹出Form2窗口编辑单个记录,但编辑后保存后,在Form2中查询到的还是旧的数据,实际数据库中已经更新了,怀疑是4.2中加了查询缓存功能. 用ILSpy查看EntityFramework程序集,发现 System.Data.Entity.DbExtensions有个AsNoTracking的扩展方法,试了一下果然解决了.比如这样使用: var people = context.People.Wher…
ado.net EF是微软的一个ORM框架,使用过EF的同学都知道EF有一个延迟加载的技术. 如果你是一个老鸟,你可能了解一些,如果下面的学习过程中哪些方面讲解的不对,欢迎批评指教.如果一个菜鸟,那我们就一起开始今天的学习. 首先,提出以下几个问题. 何为延迟加载呢? 我们该如何使用呢? 我们为什么要使用延迟加载技术呢? 延迟加载技术有什么优.缺点呢? 好,带着上面的问题我们开始今天的学习. 1.何为延迟加载   EF的延迟加载,就是使用Lambda表达式或者Linq 从 EF实体对象中查询数据…
转载原出处:http://www.cnblogs.com/kenshincui/p/3345586.html Entity Framework将概念模型中定义的实体和关系映射到数据源,利用实体框架可以将数据源返回的数据具体化为对象:跟踪对象所做的更改:并发处理:将对象更改传播到数据源等.今天我们就一起讨论如何利用Entity Framework进行查询.插入.更新和删除数据. 查询 我们将使用AdventureWorks数据库来进行今天的所有演示,因此开始之前请准备好相应的数据库.在EF中进行查…
EF中使用语句 或存储过程 查询 1.无参数查询 var model = db.Database.SqlQuery("select* from UserInfoes ").ToList(); 2.有参查询 var model = db.Database.SqlQuery("select* from UserInfoes where id=@ID ",new SqlParameter("@ID",id)).ToList(); 3.结合linq查询…
前言 不知道大家是否和我有同样的问题: 一般在数据库的设计阶段,会制定一些默认的规则,其中有一条硬性规定就是一定不要对任何表中的数据执行delete硬删除操作,因为每条数据对我们来说都是有用的,并且是值得分析的. 所以我们一般会在每张表中加一个"是否删除IsDeleted"或者"是否有效IsValid"的字段,来标识这条数据的状态是否可用! 那么疑问来了,在写SQL或者Linq的时候我们到底是要加上这个条件还是忽略这个条件呢?答案当然是根据实际业务需求和情况来决定.…
使用EF Core时,如果多次从数据库中查询一个表的同一行数据,DbContext中跟踪(track)的实体到底有几个呢?我们下面就分情况讨论下. 数据库 首先我们的数据库中有一个Person表,其建表脚本如下: CREATE TABLE [dbo].[Person]( ,) NOT NULL, ) NULL, [Age] [int] NULL, [CreateTime] [datetime] NULL, CONSTRAINT [PK_Person] PRIMARY KEY CLUSTERED…
1.首先 创建好 数据 库. hobby表 major 表 student 表 外键 关系如下 2. 实现将 数据库 映射到EDM中 视图如下 在VS中 生成了 3个实体类  ,对应的是 数据库中的3个表 3.创建一个 webform文件 代码 如下 1.创建上下文 2.执行操作 注释: 1.上下文是 对应 操作数据库的 关键,所以要首先 创建一个 上下文的对象 2.这里根据主要键 关系,需要 连接 student表 和 major表,连接  student表 和 hobby表 .根据两个表之间…
简介 在前面EF的介绍中,曾多次提到过EF可以使用Lambda和Linq来完成对数据库的访问,这两种的语法的具体使用和注意事项在前面的DotNet进阶的系列章节中已经详细介绍过了,本次借着EF章节,重新调整了一下里面的规范和注意事项. 1. Lambda语法 七类核心用法: 0. Select最基本的用法:查询单表中所有数据 1. Where的用法:单条件.多条件.模糊查询 2. select查询指定列:匿名类写法(指定匿名类的名称或使用默认表的名称) 3. 排序问题: ① 单条件单次升序:Or…
第20课-数据库开发及ado.net 可空值类型,资料管理器,多条件查询,Case SqlHelper using System; using System.Collections.Generic; using System.Configuration; using System.Data; using System.Data.SqlClient; using System.Text; namespace _02省市联动 { public static  class SqlHelper { //…
EF查询(不使用缓存):Set<T>().AsNoTracking() 今天工作中发现一个很妖的问题,修改产品界面,修改数据后,数据库的值发生变化,感觉掉坑里了. 然后发现读取对象的方法是这样写的: public T GetModel(object id) { return dbContext.Set<T>().Find(id); } 后来发现原来是读的EF缓存的数据,然后将读取方法改成: public T GetModel(Expression<Func<T, boo…
本文翻译自<Entity Framework Core: Soft Delete using Query Filters>,由于水平有限,故无法保证翻译完全正确,欢迎指出错误.谢谢! 注意:我使用的是 Entity Framework Core 2.0 (2.0.0-preview2-final).正式版发布后,功能可能存在变动. 继续探索Entity Framework Core 2.0,今天我将探讨如何轻松使用软删除(或逻辑删除).我的意思是以透明的方式实现软删除,例如,您是物理上的删除行…
(1)//删除操作 public bool delete() { try { a_context = new AEntities(); b1 = new Table_1(); //删除只需要写主键就行了 b1.id = 3; a_context.Entry<Table_1>(b1).State = EntityState.Deleted; a_context.SaveChanges(); return true; } catch (Exception) { return false; } }…
什么叫上下文? 在你设计一个方法的时候,无法直接从方法参数或实例成员(字段或属性)获得的所有信息都是上下文.例如: 当前用户是谁? 刚才提供操作的数据库连接实例从哪里拿到? 这个方法从哪个 View 或者哪个 Controller 调用的? 当然,在方法体中获得上下文最终还是要靠方法参数或实例成员. 在MVC中有大量的上下文信息,例如: ControllerContext ViewContext ModelBindingContext ExceptionContext ActionExcutin…
1.复杂查询运算符 在生产场景中,我们经常用到LINQ运算符进行查询获取数据,现在我们就来了解下生产场景经常出现几种复杂查询运算符. 1.1联接(INNER JOIN) 借助LINQ Join运算符,可根据每个源的键选择器连接两个数据源,并在键匹配时生成值的元组. var query = from blog in _context.Set<Blog>() join post in _context.Set<Post>() on blog.BlogId equals post.Blo…
   今天一个同事突然告诉我,以前跑得很正常的一个SQL语句,执行时突然报如下错误:         消息1222,级别16,状态18,第1 行         已超过了锁请求超时时段.         消息8630,级别16,状态1,第1 行         内部查询处理器错误: 查询处理器在执行过程中遇到意外错误. 我执行了一下这个SQL语句,也是报如上错误,感觉有点奇怪,还是第一次遇到这种错误.我初步怀疑是SQL中某个表出现一致性错误或分配错误等原因造成.于是先用DBCC CHECKTAB…
今天,在开发的过程中发现了一个特别奇怪的问题:access中like查询时候,在Access数据库中执行,发现可以查询出结果,这是在数据库上执行,select * from KPProj where KpName like '*测试*',但是同样的语句在c#程序中却查询为空,这是什么情况呢? 这个问题真让人纠结,通过以前的开发经验,access中like需要用*号,但是sqlserver oracle数据库中要用标准的%,为什么此时就不行呢?经过搜索资料,最后发现是连接access驱动程序的问题…
在查询时将查询条件放入Session中,导出时直接根据qpniRGaFiler取查询条件即可…
连接查询: 连接查询是指基于多张表或视图的查询.使用连接查询时,应指定有效的查询条件,不然可能会导致生成笛卡尔积.如现有部门表dept,员工表emp,以下查询因查询条件无效,而产生笛卡尔积:   (各语句中字段不做解释,主要显示逻辑关系) select dept.dname,emp.ename from dept,emp where dept.name = 'sales'; 有效查询条件应该指定dept表与emp表之间的连接关系.表之间连接关系多如下: 1.相等连接(=) 相等连接主要用于查询主…
数据类型转换 --cast转换 select CAST(1.23 as int) select CAST(1.2345 as decimal(18,2)) select CAST(123 as varchar(10))     整型转换成字符串型 select CAST('123.333' as decimal(18,4))    字符串型转换成浮点型 --convert转换 select CONVERT(int,12.345) 子查询(嵌套查询) ---查找男同志里面年龄最大的人的全部信息(t…
如何用adoquery对一个表中所有列进行模糊查询: procedure TForm3.Button4Click(Sender: TObject); var ASql,AKey: string; I: Integer; begin //获取关键词 AKey := Trim(Edit1.Text); //生成SQL语句 ASql := 'SELECT * FROM 需要做的事 WHERE '; do begin then begin ASql := ASql + frmDataPool.qry需要…
MySQL中的子查询 是在MySQL中经常使用到的一个操作,不仅仅是用在DQL语句中,在DDL语句.DML语句中也都会常用到子查询. 子查询的定义: 子查询是将一个查询语句嵌套在另一个查询语句中: 在特定情况下,一个查询语句的条件需要另一个查询语句来获取,内层查询(inner query)语句的查询结果,可以为外层查询(outer query)语句提供查询条件. 特点(规范): ①子查询必须放在小括号中 ②子查询一般放在比较操作符的右边,以增强代码可读性 ③子查询(小括号里的内容)可出现在几乎所…
这个月碰到几个人问我关于"SQL SERVER中INNER JOIN 与 IN两种写法的性能孰优孰劣?"这个问题.其实这个概括起来就是SQL Server中INNER JOIN与子查询孰优孰劣(IN是子查询的实现方式之一,本篇还是只对比INNER JOIN与子查询IN的性能,如果展开INNER JOIN与子查询性能对比,范围太大了,没法一一详述).下面这篇文章,我们就INNER JOIN与子查询IN这两种写法孰优孰劣,在不同场景下进行一下测试对比一下,希望能解答你心中的疑惑. 下面例子…
1. SELECT 关键字用法: 检索单个列:select 列名 from 表名: 例:select ename from emp;检索多个列: select [列1,列2, ... ,列N] from 表名: 例:select ename , sal from emp;检索所有列:select * from 表名: 例:select * from emp; 2. 通配符(A): * :代表0个或多个列_ : 代表单个字符% : 代表0个或多个字符 使用通配符的优点:书写方便.可以检索未知列 使…
c#中如何使用到模糊查询,先举个最简单实用的例子,可在vs控制台应用程序中输出: 定义实体类:  public class Student        {            public int ID { get; set; }             public string Name { get; set; }             public int? Age { get; set; }             public string Sex { get; set; }  …
以下总结源自后边的三个参考思索和测试而来: 我们有一张行政区划表,为了查询速度的优化,我们需要在这张表中,将每个乡镇的记录中写入其所属的省.市.县, 表如下: 当然,我们可以使用游标或在存储过程中使用循环来实现这个这个需求,但是,那样做代码写起来似乎不是很简单方便,这里就不再过多讲述游标和存储过程的实现过程了,游标方式有想法的可以参考下边的参考外链(https://www.cnblogs.com/freshman0216/archive/2008/08/13/1267437.html),存储过程…
在我们的地图的操作中经常会有一些操作是需要通过画多边形或者画线来查找某一块区域内的特定的Graphics比如我们在做的交警的项目中通过框选来查找某一块区域中的摄像机,某一块区域中的警力.警情.警员等相关信息,我们就经常需要使用ArcGIS中的服务来查找相关的结果,但是Arcgis中大部分的查询结果都是都是在异步函数中进行相关查询的,往往我们需要将查询到的结果用一些图标或者其它的方式进行展示,这时就需要通过异步回调函数的方式来进行相关的操作,下面举出一个具体的实例来解释这个过程,首先看一看查询某一…
数据类型转换 --cast转换 select CAST(1.23 as int) select CAST(1.2345 as decimal(18,2)) select CAST(123 as varchar(10))     整型转换成字符串型 select CAST('123.333' as decimal(18,4))    字符串型转换成浮点型 --convert转换 select CONVERT(int,12.345) 子查询(嵌套查询) ---查找男同志里面年龄最大的人的全部信息(t…
原文链接:https://www.entityframeworktutorial.net/code-first/seed-database-in-code-first.aspx EF 6 Code-First系列文章目录: 1 翻译系列:什么是Code First(EF 6 Code First 系列) 2.翻译系列:为EF Code-First设置开发环境(EF 6 Code-First系列) 3.翻译系列:EF Code-First 示例(EF 6 Code-First系列) 4.翻译系列:…
原文链接:http://www.entityframeworktutorial.net/code-first/database-initialization-strategy-in-code-first.aspx EF 6 Code-First系列文章目录: 1 翻译系列:什么是Code First(EF 6 Code First 系列) 2.翻译系列:为EF Code-First设置开发环境(EF 6 Code-First系列) 3.翻译系列:EF Code-First 示例(EF 6 Cod…
  1. 新增一个表,通过另一个表的结构和数据 create table XTHAME.tab1 as select * from DSKNOW.COMBDVERSION 2. 如果表存在: insert into tab1 select * from tab2; 3.同一个表中,将A字段的指赋给B字段: update table_name set B =  A; 4. 将一个表的字段数据插入到另一个表的字段数据中 insert into XTHAME.tab1(pk_bdversion,vbd…