EF6.0 更新数据的问题?

DbContext.Set().Attach(entity);
DbContext.Entry(entity).State = System.Data.Entity.EntityState.Modified;
DbContext.SaveChanges()

以上是EF6.0 更新数据的写法,但是我发现这样写entity中为空的属性会更新到数据中。
比如entity中我赋值了name属性和id属性(本来就是要跟新name属性)但是这样写ef会把除开id和name 属性的其他字段更新为空。

3个回答

你的entity是new出来的么?
你应该先用
eneity = DbContext.表.Single(x => x.id = xxx);查询出来,然后再更新字段。

在查询的时候你试试不要全部查询,查询表中的指定列就行,然后再执行修改。

eneity = DbContext.表.Single(x => x.id = xxx);

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
EF6.0与Sqlite的问题
采用EF6.0对SQLite数据生成数据模型后,对视图调用时抛异常,不能调用视图,提示未将对象引用的对象实例。最后只能放弃使用视图采用SQLiteReader 去获取视图信息同样报错,提示的错误信息跟上相同。果断放弃SQlitereader,采用SQLiteDataAdapter,执行结果正常...
关于EF6.0的操作日志问题
现在情况是这样:rn接手一个已经上线的项目(MVC),后端代码一塌糊涂,EF没有经过任何包装就直接用了,且业务层和Controller都有db侵入,业务代码已经算是有一定规模了~rnrn累死累活前前后后一个月修修补补算是把各种比较明显的业务BUG修补的差不多了,但是很多BUG没办法溯源(因为没有统一日志处理层或者拦截器之类的玩意),查了下网上资料EF6.0是有SQL日志的,但是看了下都是英文文档……看起来有点没有头绪……rn望各位大神指点迷津或者给个简单的DEMO之类的东西~小弟谢过了……
EF6.0 怎么报错了?
错误 CS0012 类型“DbSet<>”在未引用的程序集中定义。必须添加对程序集“EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089”的引用。rnrn我刚刚接触EF6.0,我几年前用的MVC4+EF,都快忘记完了,这两天捣鼓捣鼓 EF,怎么会这个错误呢?网上说的那些解决办法都不顶用啊,rn什么NuGet里面添加啊什么的,怎么这么复杂了?之前我记得调用一下就可以读取数据了。
关于EF6.0整理
一、EntityFramework实体框架 官方文档:https://msdn.microsoft.com/en-us/library/aa937723(v=vs.113).aspx https://msdn.microsoft.com/en-us/library/ee712907(v=vs.113).aspx CodePlex源代码地址: https://entityframewor
Mariadb、EF6.0框架使用
工欲善其事,必先利其器 不废话  先去安装相关工具 1、mariadb-10.1.20-winx64.msi 2、mysql-connector-net-6.10.8.msi 3、mysql-for-visualstudio-1.2.6.msi 项目中Nuget包: Install-Package EntityFramework -Version 6.2.0 Install-Pac...
EF6.0实体类添加注释
第一步: 在Model.tt文件添加一个方法读取数据库中的字段说明 public string GetRemark(EdmProperty edmProperty){ //System.Diagnostics.Debugger.Launch(); var tableName = edmProperty.DeclaringType.Name; var colName=_code.Esc
关于EF6.0的性能问题 常用的请进
最近接手一个维护项目用到了EF 发现效率特别差 导致整个项目操作变得延迟很大,求助各位使用EF的达人,对于频繁查询,操作数据库的项目是否应该废掉EF?(数据量300W条) rn是否其它的解决方案?rn备注:之前没用过这个 用LINQ TO SQL的时候就发现这个问题 后来一直没用相关 ORM 框架
更新数据的问题
比如表里有字段 ClassName和Count,当用户选择某项课程后count +1,这个SQL语句怎么写?如果Count 定义为字符类型行不行?
更新数据的问题?
在表里有一字段(UCode)的内容是这样的rnA0101001rnA0101002rn.rn.rnA0909099rn现在需要将A替换为21,即更新为:rn210101001rn210101002rn。rn。rn210909099rnrn请问,sql语句怎样写,谢谢!rn
更新数据问题
同一个数据库中,我有两个表,例如:rn表Arn A表中子段(uname,tel)rn表Brn B表中字段(uname,tel)rnrn如何把B表中的tel更新到A表tel中,条件是b.uname=a.unamern请高手指点一下
更新数据的问题~
dim sqlrnsql="update tbl_house set HMark='" & HMark & "',EndDate='" & EndDate & "',HSection='" & HSection & "',HAddress='" & HAddress & "',HFloor='" & HFloor & "' ,HDate='" & HDate & "',HType='" & HType & "',Area='" & Area & "',Price='" & Price & "',PersonName='" & PersonName & "',Tel='" & Tel & "',PersonEmail='" & PersonEmail & "', Remark='" & Remark & "' where HouseID ='" & TitleID & "'"rnset rs = objDB.execute(sql) rnobjDB.Closern这个语句提示有错误,对的应该怎样写哩?rn请高手给我指点指点啊~
更新数据问题?
是c/s结构的,使用sql ser2000rn如何防止多个客户端同时修改aa表中的当前记录?
更新数据的问题!
更新数据没成功,怎么才能返回一个错误?
更新数据的问题!!!
代码如下:rnOleDbCommand Cmd2=new OleDbCommand("update admin set password='fdsa'",Conn);rnif(Cmd2.ExecuteNonQuery()>0)rnrnResponse.Write(" ");rnrn错误信息:rn'Syntax error in UPDATE statement.rnrn请问是哪的问题?????????/rn 谢谢!!!
更新数据的问题!!!!!!!!!!!!!!!!!!!!!
我在更新数据的时候,先用了两个ArrayList,arrA和arrB存了数据库中更新前和更新后的数据,判断两个Arraylist中相同的数据,如果存在就删除。rn 每个Arraylist剩下自己独有的数据,剩下的arrA中的数据就从数据库中,arrB中数据就添加到数据库中。rn 因为每个ArrayList中都有[color=#FF0000]100万条数据[/color],在判断的时候相当耗时,在判断完数据后,就调用添加的方法和删除 的方法,在这里要做个类似事务的东西。以免数据不一致。这个可以在后台类中实现吗?rnrn还有就是在刷新的过程怕页面的有效时间过了,也导致数据不一致,怎么办啊?rnrn对了,可不可以快速比较两个ArrayLIst中的数据呢?rn我的是VS2005+sqlserver2005 不能用linq
更新数据的问题?
有表Arn 字段1 字段2rn 0101 蔬菜rn 010101 白菜rn 010102 萝卜rn 010103 土豆rn现要修改蔬菜的编码为0102,想要的效果是能不能一次更改所有的前4位0101为0102呢?SQL的update语名如何实现?rn如下:rn 字段1 字段2rn 0102 蔬菜rn 010201 白菜rn 010202 萝卜rn 010203 土豆rn注:是access数据库
更新数据问题??
为什么这不能更新数据呢,而是向数据库里添加数据呢??rnrn<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>rn<%@ include file="banner.jsp" %>rn<% rnString accout=request.getParameter("accout");rnString phone=request.getParameter("phone");rnString esn=request.getParameter("esn");rnString imsi=request.getParameter("imsi");rnString sid=request.getParameter("sid");rnString nid=request.getParameter("nid");rn%>rn<%@ include file="conn.jsp" %>rn<% rnString sql="update base_info set accout='"+accout+"',phone='"+phone+"',esn='"+esn+"',imsi='"+imsi+"',sid='"+sid+"',nid='"+nid+"'";rnstatement.executeUpdate(sql); rnrn statement.close() ;rn connection.close() ;rn%>
IIS7 发布MVC4(EF6.0)出错
错误如下:rnNo Entity Framework provider found for the ADO.NET provider with invariant name 'System.Data.SqlClient'. Make sure the provider is registered in the 'entityFramework' section of the application config file. See http://go.microsoft.com/fwlink/?LinkId=260882 for more information.rnrn我在vs2012调试一点问题都没有的,但发布在iis上面 访问数据库就爆了上面的错 找不到原因啊rnrn我用的EntifyFramework6.0 希望大侠们帮帮忙 万分感激啊!![img=https://forum.csdn.net/PointForum/ui/scripts/csdn/Plugin/003/onion/14.gif][/img]
存储过程的问题更新数据问题
请问:如何才能够将一台数据库的表内容.更新到局域网中的另外一台电脑的SQL 中??rnrn如:Server1 中 Select * From Computer where ComputerNO=''rn的内容更新到Sever2 中的STUDENT 数据库中的TEA 表中???rnrn急用,,,谢谢各位 !
更新数据
我的access中有两个要录值的表rnrn我做了窗体实现这个过程rn我想把其中一个表的录的数据自动写入另外一个表的字段中rn怎么实现?rn例如都是《单位名称》这个字段rn谢谢rn
更新数据?
现有一张表testrn t1 t2 t3rn 0.25mg null nullrn 0.5mg null nullrn 1g null nullrn 500ml null nullrn 60粒 null nullrn 。。。rn能否通过SQL语句将数据更新为:rn t1 t2 t3rn 0.25mg 0.25 mgrn 0.5mg 0.5 mgrn 1g 1 grn 500ml 500 mlrn 60粒 60 粒rn 。。。rn备注:t1字段有其他的单位,不仅限于上面几个
相关热词 c# 标准差 计算 c#siki第五季 c#入门推荐书 c# 解码海康数据流 c# xml的遍历循环 c# 取 查看源码没有的 c#解决高并发 委托 c#日期转化为字符串 c# 显示问号 c# 字典对象池