jinlshan 发表于 2013-10-7 17:51:16

急!!!关于Entity Framework更新表部分字段问题

本帖最后由 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 .
set = @0, = @1, = @2, = @3, = @4, = @5, = @6, = @7, = @8, = @9, = @10, = @11, = @12, = @13, = @14, = @15, = @16, = @17, = @18, = @19, = null, = null, = null, = @20, = null, = null, = null, = @21, = @22, = @23, = @24, = @25, = @26, = @27, = @28, = @29
where ( = @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


rakehell 发表于 2013-10-9 16:08:47

可以下载一个叫EntityFramework.Extended的扩展类

jinlshan 发表于 2013-10-11 07:20:54

rakehell 发表于 2013-10-9 16:08
可以下载一个叫EntityFramework.Extended的扩展类
问题我已经自己解决,不过还是谢谢!

rakehell 发表于 2013-10-14 15:47:34

jinlshan 发表于 2013-10-11 07:20
问题我已经自己解决,不过还是谢谢!

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

jinlshan 发表于 2013-10-18 08:03:17

rakehell 发表于 2013-10-14 15:47
你的解决方案是什么?可以贴上来参考一下不?

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

pbuilder 发表于 2013-10-18 22:59:50

学习下,

rakehell 发表于 2013-10-21 14:32:43

jinlshan 发表于 2013-10-18 08:03
解决方法在这
http://bbs.csdn.net/topics/390608288?page=1#post-395718024

过去看看学习学习
页: [1]
查看完整版本: 急!!!关于Entity Framework更新表部分字段问题