首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Linq to Sql 更新数据时容易忽略问题

越来越多朋友喜欢用Linq to Sql来进行开发项目了,一般我们都会遇到CRUD等操作,不可否认,在查询方面Linq真的带来很大便利,性能方面也表现不错,在插入操作和删除操作中,Linq表现也还不错...不过有时候,我们还是会使用Linq to Sql来进行Update,执行步骤:获取一个记录-〉更新字段 -〉submitChanges() 昨天遇到了一个问题,流程都没有错,但是更新时候始终没有更新到数据库...时候,无论你怎么改都是没有效果,数据库中始终不会改变,My God ,或许你会觉得这谁不知道啊,但是往往我们真的会忽略这一点,记得以前考试,往往都是难题目基本上全对,但越简单越容易题目,却会经常犯错...context.SubmitChanges(); } 标签: C#,linq to sql,仔细,项目 好了,文章比较简单,也或许你觉得不值得一提,目的也不是为了解决这个问题,希望大家能在做项目中,一定要仔细...,因为往往你一个小小疏忽,会给项目、公司带来不可预知后果。

1.3K80

LINQ to SQL集成应用程序中需考虑一些问题

1、LINQ to SQL集成应用程序中需考虑一个问题, 到底应该返回IQueryable还是IQueryable?...2、需要一个分页功能; 这一步时候我又有几个选择, 利用LINQ to SQL可以执行自定义存储过程功能, 完全自己写, LINQ to SQL本身已经有API提供了分页功能了,不过只有排序或包含标识列查询中支持...语句是利用TOP和嵌套子查询, 这种方法已经被证明是比较高效做法(相比于临时表做法), 所以完全有理由可以一试.这里, List, IQueryable, IQueryable都没有任何问题...., 然后有LINQ to SQL在运行时来帮我们转换为T-SQL语句。...但是IQueryable不能跨assembly, 一旦跨了assembly的话, 你无法使用var来引用匿名类里面的property, 绑定control是没有问题, 但是客户端动态查询却成了问题

1.2K60
您找到你想要的搜索结果了吗?
是的
没有找到

Linq2Sql数据实体外部更新时“不能添加其键已在使用中实体解决办法

Linq to Sql中,如果我们想在DataContext外部修改一个实体值,然后把引用传入DataContext中,再利用Attach附加后更新,代码如下: public static void...    {         db.myData.Attach(_pDate, db.myData.Single(c => c.ID == _pDate.ID));//将会出异常:“不能添加其键已在使用中实体...myData _pDate = new myData() { ID = 1, IP = "127.0.0.1" }; UpdateMyTable(_pData); 运行时,会抛出异常:不能添加其键已在使用中实体...原因我就不分析了,个人理解大致意思就是外部对象跟DataContext上下文没关联,而Attach又不成功,所以当然也就更新不了....这种方法当然是可行,但是有点笨,这种不应该由人来干傻活儿最好由电脑来完成(见下面的方法) 2.利用反射自动复制属性 先写一个方法,利用反射获取属性信息实现自动copy属性值 public static

1.8K50

Rafy 领域实体框架设计 - 重构 ORM 中 Sql 生成

前言 Rafy 领域实体框架作为一个使用领域驱动设计作为指导思想开发框架,必然要处理领域实体数据库表之间映射,即包含了 ORM 功能。...而这些场景如果还让开发人员自己去编写复杂 Sql 语句,不但框架易用性下降,而且由于写了过多 Sql 语句,还会让开发人员面向领域实体来开发思想减弱。...以下是整个方案分层设计: SqlTree:核心、可重用 Sql 语法树层。定义了通用 Sql 语法结构,并解决从语法树 Sql 语句转换、生成,以及屏蔽不同数据库间不同子句生成规则。...Linq Query:为了给开发人员提供更易用接口,需要提供 Linq 语法支持。本层用于解析 Linq 表达式树,并生成最终实体查询对象。...EntityQuery 层中类型实现了 IQuery 中对应接口,并使用领域实体相关 API 来实现从实体表、实体属性转换

2K70

金三银四面试:C#.NET面试题中高级篇5-Linq和EF

8.LINQ可视化工具简单介绍一下? 9.LINQ to Object和LINQ to SQL有何区别? 10.除了EF,列举出你知道ORM框架? 11.在哪些类型额项目中你会选择EF? 为什么?...ORM指的是面向对象对象模型和关系型数据库数据结构之间互相转换。 (表实体跟表之间相互转换) ORM框架有很多,EF框架是ORM框架其中一种,是实现了ORM思想框架。...功能也极大提高开发和架构设计效率. 3).EF跨数据支持是ORM框架主要功能点之一,带来是可以通过仅仅改变配置就可以做到跨数据库能力 4.如何提高LINQ性能问题?...LINQ to SQL可以将查询表达式转换SQL语句,然后在数据库中执行。相比LINQ to Object,则是将查询表达式直接转化为Enumerable一系列方法,最终在C#内部执行。...将查询表达式转换SQL语句并不保证一定可以成功。 10.除了EF,列举出你知道ORM框架

3.9K30

EntityFramework 外键值映射

Entity Framework 实体框架形成之旅--实体框架开发几个经验总结 在前阵子,我对实体框架进行了一定研究,然后把整个学习过程开了一个系列,以逐步深入方式解读实体框架相关技术,期间每每碰到一些新问题需要潜入研究...我整个实体框架学习和研究,是以我Winform框架顺利升级这个实体框架基础上为一个阶段终结,这个阶段事情很多,从开始客运联网售票WebAPI平台开发,微软实体框架深入研究,以及《基于Metronic...1、实体框架主键类型约束问题 在我们搭建整个实体框架过程中,我们一般都是抽象封装处理很多基础增删改查、分页等常见数据处理功能,如下所示。...使用实体框架后,主要就是利用LINQ进行一些集合操作,这些LINQ操作虽然有点难度,不过学习清楚了,处理起来也是比较方便。...在实体框架界面层查询中,我们也不在使用部分SQL条件做法了,采用更加安全基于DTOLINQ表达式进行封装,最后传递给后台也就是一个LINQ对象(非传统方式实体LINQ,那样在分布式处理中会出错

4.1K50

_ER图关系模型转换和练习SQL语言

1980年10月,经美国国家标准局(ANSI)数据库委员会X3H2批准,将SQL作为关系数据库语言美国标准,同年公布了标准SQL,此后不久,国际标准化组织(ISO)也作出了同样决定。...SQL从功能上可以分为3部分:数据定义、数据操纵和数据控制。SQL核心部分相当于关系代数,但又具有关系代数所没有的许多特点,如聚集、数据库更新等。它是一个综合、通用、功能极强关系数据库语言。...2、两种使用方式,统一语法结构。SQL有两种使用方式。一是联机交互使用,这种方式下SQL实际上是作为自含型语言使用。另一种方式是嵌入某种高级程序设计语言(如C语言等)中去使用。...尽管SQL功能很强,但语言十分简洁,核心功能只用了9个动词。SQL语法接近英语口语,所以,用户很容易学习和使用。...语句学习网站        它里面基本包括了SQL基础教程和高级教程,还有SQL Server一些常用自带函数。

15600

ER图关系模型转换和练习SQL语言

使用查询语句查询相关信息  查询计算机系男生信息: 查询鹿晗年龄 查询姓名第二个字为“丽”同学信息 按照性别列出男生和女生的人数 四、好用SQL语句学习网站 ---- 一、实验要求 二、...使用查询语句查询相关信息 查询计算机系男生信息: select * from LYL_116_student where Department='计算机' 查询鹿晗年龄 select datediff...from LYL_116_student group by Sex           这里就直接用 group by 子句将Sex分组查询,然后用 count(*) 计数即可算出男女各有多少人 四、好用SQL...语句学习网站         它里面基本包括了SQL基础教程和高级教程,还有SQL Server一些常用自带函数。...很适合初学者去学习如何去写SQL语句 SQL FOREIGN KEY 约束 https://www.w3school.com.cn/sql/sql_foreignkey.asp

1.2K20

ORM查询语言(OQL)简介--概念篇

应用程序调用ORM方法,ORM自动生成相应SQL语句数据库进行查询,然后ORM将接收到关系数据映射成实体对象。...ORM查询语言,其实早就有了,从早期HibernateHQL,MSLinqLinq2SQL,EF其实内部都是使用Linq生成SQL),它们都可以生成复杂SQL语句,它们都是直接作用于ORM...2,PDF.NETORM框架   PDF.NETORM框架包括4个部分: Entity Object :PDF.NET实体类,它继承于基类 EntityBase,使得每一个实体类都成为一个“数据容器...EntityQuery :实体查询对象,它是一个O/R Mapping对象,它操作涉及对象类型是一个实体类(类型T);在对象内部,它会把OQL转换SQL,然后调用AdoHelper完成查询。...PDF.NETOQL要解决主要问题就是让ORM操作能够有SQL那样灵活性,现有大多数ORM框架都是基于CRUD方法级别的操作,还没有像SQL那样具有语言级别的操作,要不然它怎么会被称为4GL呢?

2.3K100

Sql Server 2008 为开发带来新特性

您可能熟悉 LINQ(语言集成查询)工具,它允许数据库开发人员使用基于 Microsoft® .NET 编程语言而非普通 T-SQL 语句向数据库发出查询请求。...SQL Server 2008 向 SQL 提供程序提供了新 LINQ 命令,可以允许开发人员直接对 SQL Server 表和列发出 LINQ 命令,从而增强了 LINQ 功能。...这些对象(也称为实体)代表数据库应用程序所需数据,因此开发人员并不需要了解该数据实际存储结构以及数据库架构。新 ADO.NET 实体框架现在允许开发人员使用这些实体来创建数据库查询。...SQL Server 2008 引入了两种独立数据类型来处理日期和时间数据。不同数据类型转换可以改进许多查询性能,因为无需对数据执行任何操作即可将其用于查询。...创建较新数据库结构时,数据库开发人员经常会发现他们必须要扩展数据库结构才能执行映射应用程序。SQL Server 2008 使用全新空间数据类型来帮助解决此问题

1.2K80

盘点 .NET 比较流行开源ORM框架

前言 对于我们而言选择ORM框架目的,其实都是为了让我们程序更好操作数据库,提高开发编程效率和程序维护拓展性。 所以我们选择ORM需要从项目实际业务出发,选择最合适自己团队框架。...您查询由 C# 编译器检查并允许轻松重构。 但是,它不像 LINQ to SQL实体框架那么重。...没有更改跟踪,因此您必须自己进行管理,但从积极方面来说,您可以获得更多控制权并更快地访问您数据。 换句话说LINQ to DB 是类型安全 SQL。...通过使用 DynamicMethod 生成消除 Linq 和快速属性分配来获得出色性能。 查询语言是好 ole SQL。 包括一个低摩擦 SQL 构建器类,使编写内联 SQL变得更加容易。...(V5) 用于记录异常、安装值转换器和将列映射到没有属性属性挂钩。

3.9K41

PDF.NET 数据开发框架 许可限制 框架源码获取

本套框架思想是借鉴Java平台Hibernate 和 iBatis 而来,兼有ORM和SQL-MAP特性,同时还参考了后来.NETLINQ(本框架成型于2006年,当时还未听说过LINQ)使用风格...本框架设计思想是通用,完全可以移植Java 平台,现在只提供了.NET平台实现,暂且将本框架命令为 PDF.NET (下载 ) 框架支持功能 UI层(WinForm/Web)控件数据绑定、...映射与查询; BLL层实体对象查询(OQL) DAL层SQL语句和.NET数据访问代码映射(查看 SQL-MAP 原理) 详细说来,框架还包含以下特色功能: 类似LINQ支持ORM实体类查询OQL表达式...一套实用工具,可以生成实体类和根据SQL配置文件自动生成代码代码生成器以及SQL配置文件管理程序。...SQL-MAP 配置文件不支持多个配置文件,但你可以将配置文件以嵌入式文件分散多个DAL项目中。

1.2K60

2022年了有哪些值得推荐.NET ORM框架

ORM 是 Object Relational Mapping 缩写,译为“对象关系映射”,是一种程序设计技术,用于实现面向对象编程语言里不同类型系统数据之间转换。...它解决了对象和关系型数据库之间数据交互问题,ORM作用是在关系型数据库和业务实体对象之间作一个映射,这样我们在具体操作业务对象时候,就不需要再去和复杂SQL语句打交道,只需简单操作对象属性和方法...主要特点: 支持 CodeFirst 模式,即便使用 Access 数据库也支持数据迁移; 支持 DbFirst 模式,支持从数据库导入实体类,或使用实体类生成工具生成实体类; 支持 深入类型映射,比如...您查询由 C# 编译器检查并允许轻松重构。 但是,它不像 LINQ to SQL实体框架那么重。...内存高效- 它提取并缓存您对象属性、执行上下文、对象映射和 SQL 语句。它在整个转换和执行过程中重用它们。 动态和混合- 它提供了成熟 ORM 一些高级功能。

5.7K11

.NET程序员必备58个提高效率工具

AutoMapper:对象对象映射。例如,该工具可用于映射实体对象领域对象,而不是写手动映射代码。...LINQ LINQ Pad?:LINQPad 是一个轻量级工具,用于测试对 SQL Server 数据库 LINQ 查询。它也可以测试用不同 .NET 语言,如C#,VB 等写代码片断。...Protractor:端框架用来测试 angular 应用程序。 Batarang:添加工具用于调试和分析 AngularJS 应用程序。 9....高性能网站规则指出它们为什么这么缓慢。 16. 代码转换器 Telerik Code Converter:C# VB 以及 VB C# 代码转换器。这是一个在线编辑器。...LogParser:你可以写 SQL 查询来应对各种日志文件,以及导出数据各种目的地,如 SQL 表、CSV 文件。 18. 屏幕录制 Wink:演示文稿制作软件。

4K60

用事实说话,成熟ORM性能不是瓶颈,灵活性不是问题:EF5.0、PDF.NET5.0、Dapper原理分析与测试手记

SQL还是导致工作量很大,于是拿起ORM并发明了查询部分实体类属性查询API:OQL;最后,觉得有些地方用ORM还是麻烦,比如处理一个表单CRUD,如果用ORM也得收集或者填充数据实体类上,还不如直接发出...2,Linq2Sql&EF:   2008年,随着.NET 3.5和VS2008发布,MS官方ORM框架Linq2Sql也一同发布了,它采用Linq语法来查询数据库,也就是说Linq是MSORM查询...对此问题,我认为不管是Linq,还是OQL,或者是别的什么ORM查询API,要做到SQL那么灵活的确不可能,所以Hibernate还有HQL,EF还有ESQL,基于字符串实体查询语句,但我觉得既然都字符串了还不如直接...SQL好;而对于复杂查询效率低问题,这个跟ORM没有太大关系,复杂查询哪怕用SQL写,DB执行起来也低,ORM只不过自动生成SQL让DB去执行而已,问题可能出在某些ORM框架输出SQL并不是开发人员预期...系统需要移植数据库系统,但原来系统手写了很多特定数据库平台SQL语句,没法移植! ...   框架是我们多年开发经验总结,在众多流行开发框架下,相信你选择PDF.NET没错!

4.1K90

Rafy 框架 - 使用 SqlTree 查询

本文介绍如何使用 Rafy 框架 Sql Tree 查询: 除了开发者常用 Linq 查询,Rafy 框架还提供了 Sql 语法树方式来进行查询。...同时,框架还结合托管属性,提供了方便开发者使用 API,并尽量保持与传统 Sql 相近语法,使得开发者可以快速理解并编写。...例如,Linq 查询中需要两个实体有确切实体关系才会最终生成 Join 语句;但是 SqlTree 则与 Sql 语句无异,开发者可以随意将两个实体对应表进行 Join 操作。...需要更好性能。 SqlTree 查询是 Rafy 框架查询数据(表格、实体核心实现。在框架底层,Linq 查询也都是完全是基于 SqlTree 查询来实现。...当开发者在使用 Linq 查询时,编译器其实是生成一组对象来表示一棵表达式树,而 Rafy 框架会解析这棵树,生成更加底层 SqlTree 对象,才交给执行引擎去生成真正 Sql 语句并最终执行。

2.4K70

2022年了有哪些值得推荐.NET ORM框架

ORM 是 Object Relational Mapping 缩写,译为“对象关系映射”,是一种程序设计技术,用于实现面向对象编程语言里不同类型系统数据之间转换。...它解决了对象和关系型数据库之间数据交互问题,ORM作用是在关系型数据库和业务实体对象之间作一个映射,这样我们在具体操作业务对象时候,就不需要再去和复杂SQL语句打交道,只需简单操作对象属性和方法...主要特点: 支持 CodeFirst 模式,即便使用 Access 数据库也支持数据迁移; 支持 DbFirst 模式,支持从数据库导入实体类,或使用实体类生成工具生成实体类; 支持 深入类型映射...您查询由 C# 编译器检查并允许轻松重构。 但是,它不像 LINQ to SQL实体框架那么重。...内存高效- 它提取并缓存您对象属性、执行上下文、对象映射和 SQL 语句。它在整个转换和执行过程中重用它们。 动态和混合- 它提供了成熟 ORM 一些高级功能。

3.8K20

(PDF.NET框架实例讲解)将任意复杂SQL查询映射成实体

通常情况下我们ORM框架都是将单表或者视图映射成一个实体类,有时候也会将存储过程映射成实体类,如果处于系统移植性考虑,你不想写存储过程,那这些复杂SQL查询怎么映射成实体类?...实际上,不管是单表,视图,存储过程,SQLSERVER表值函数,自定义SQL查询,甚至是任意复杂SQL查询,都可以用一个SQL语句来表示,只要我们ORM框架能够实现将SQL语句查询结果映射成实体类...然后,弹出一个新窗口,进行生成实体有关设置: ? 注意勾选“SQL查询有效性”,并输入要映射实体类名称等信息,然后点击“确定”。 ?...PDF.NET自定义查询实体实例运用,还可以参考 SQLSERVER 占了500多M内存,原来程序无法一次查询出50多W数据了,记录下这个问题解决过程。...除了可以通过本文说方式将SQL语句映射到实体类,还可以通过PDF.NET内置SQL-MAP技术来实现实体类映射,就像iBaits那样,但比iBaits简单很多,详细内容,请参看: PDF.NET数据开发框架

2.5K80
领券