开发者论坛

 找回密码
 注册 (请使用非IE浏览器)
查看: 6078|回复: 6

[求助] 急!!!关于Entity Framework更新表部分字段问题

[复制链接]

0

精华

0

贡献

33

赞扬

帖子
31
软币
918
在线时间
87 小时
注册时间
2013-6-29
发表于 2013-10-7 17:51:16 | 显示全部楼层 |阅读模式
本帖最后由 jinlshan 于 2013-10-7 17:54 编辑

第一次使用EF,在更新数据时,如果只更新其中部分字段,为什么生成的Update SQL语句会是把所有的字段都更新了呢?代码如下:(我使用的是DbContext,而且Opr_Pro_Work不是继承自EntityObject类)
using (JLSContext db = JLSDBContextManager.GenerateJLSContext())
{
    Opr_Pro_Work w1=db.Opr_Pro_Work.Where(it=>it.WorkID==1).FirstOrDefault();    w1.IsPrint = true;
    db.Entry(w1).State = EntityState.Modified;                     
    db.SaveChanges();
}

生成的SQL语句:
exec sp_executesql N'update [dbo].[Opr_Pro_Work]
set [WorkNo] = @0, [BarCode] = @1, [PID] = @2, [StoOutID] = @3, [StoOutNo] = @4, [OrderID] = @5, [OrderDID] = @6, [CaseID] = @7, [CaseNo] = @8, [ProNO] = @9, [ColorName] = @10, [SizeName] = @11, [UnitName] = @12, [IndexID] = @13, [PNo] = @14, [PName] = @15, [FctCntWage] = @16, [Qty] = @17, [Wages] = @18, [EmpID] = @19, [EmpName] = null, [InstID] = null, [InstName] = null, [WageID] = @20, [WorkDate] = null, [WorkDatetime] = null, [WorkMan] = null, [InputDate] = @21, [InputDatetime] = @22, [InputMan] = @23, [Printed] = @24, [Inserted] = @25, [ByHand] = @26, [PrintGroupID] = @27, [IsPrint] = @28, [Status] = @29
where ([WorkID] = @30)
',N'@0 nvarchar(20),@1 nvarchar(30),@2 int,@3 int,@4 nvarchar(20),@5 int,@6 int,@7 int,@8 nvarchar(50),@9 nvarchar(50),@10 nvarchar(110),@11 nvarchar(100),@12 nvarchar(100),@13 int,@14 nvarchar(6),@15 nvarchar(50),@16 decimal(30,12),@17 decimal(30,12),@18 decimal(30,12),@19 nvarchar(6),@20 int,@21 datetime2(7),@22 datetime2(7),@23 nvarchar(50),@24 bit,@25 bit,@26 int,@27 int,@28 bit,@29 int,@30 bigint',@0=N'00000000000000000198',@1=N'OP20130900000645610576045',@2=87,@3=17,@4=N'OP201309000006',@5=109,@6=181,@7=36,@8=N'456',@9=N'0',@10=N'白色 11-0601',@11=N'34/36',@12=N'件',@13=45,@14=N'10576',@15=N'反送活',@16=18000000000,@17=30.000000000000,@18=0.540000000000,@19=N'',@20=0,@21='2013-10-05 00:00:00',@22='2013-10-05 10:46:44.3300000',@23=N'Admin',@24=1,@25=0,@26=0,@27=1,@28=1,@29=0,@30=198


回复

使用道具 举报

0

精华

26

贡献

12

赞扬

帖子
74
软币
259
在线时间
17 小时
注册时间
2013-9-27
发表于 2013-10-9 16:08:47 | 显示全部楼层
可以下载一个叫EntityFramework.Extended的扩展类
回复

使用道具 举报

0

精华

0

贡献

33

赞扬

帖子
31
软币
918
在线时间
87 小时
注册时间
2013-6-29
 楼主| 发表于 2013-10-11 07:20:54 | 显示全部楼层
rakehell 发表于 2013-10-9 16:08
可以下载一个叫EntityFramework.Extended的扩展类

问题我已经自己解决,不过还是谢谢!
回复

使用道具 举报

0

精华

26

贡献

12

赞扬

帖子
74
软币
259
在线时间
17 小时
注册时间
2013-9-27
发表于 2013-10-14 15:47:34 | 显示全部楼层
jinlshan 发表于 2013-10-11 07:20
问题我已经自己解决,不过还是谢谢!

你的解决方案是什么?可以贴上来参考一下不?
回复

使用道具 举报

0

精华

0

贡献

33

赞扬

帖子
31
软币
918
在线时间
87 小时
注册时间
2013-6-29
 楼主| 发表于 2013-10-18 08:03:17 | 显示全部楼层
rakehell 发表于 2013-10-14 15:47
你的解决方案是什么?可以贴上来参考一下不?

解决方法在这
http://bbs.csdn.net/topics/390608288?page=1#post-395718024

评分

参与人数 2赞扬 +2 收起 理由
rakehell + 1 感谢分享
pbuilder + 1 感谢分享

查看全部评分

回复

使用道具 举报

0

精华

26

贡献

12

赞扬

帖子
74
软币
259
在线时间
17 小时
注册时间
2013-9-27
发表于 2013-10-21 14:32:43 | 显示全部楼层
jinlshan 发表于 2013-10-18 08:03
解决方法在这
http://bbs.csdn.net/topics/390608288?page=1#post-395718024

过去看看学习学习
回复

使用道具 举报

Archiver|手机版|小黑屋|开发者网 ( 苏ICP备08004430号-2 )
版权所有:南京韵文教育信息咨询有限公司

GMT+8, 2024-11-1 07:59

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表