Welcome

首页 / 软件开发 / LINQ / linq更新部分数据时遇到的问题及解决办法

linq更新部分数据时遇到的问题及解决办法2012-01-04 未知 问题:因为每次更新的时候只是某个类的一部分,但是这个类的属性比较多.

更新函数如下

static void updateRe(log n)    {      using (DataClasses1DataContext dc = new DataClasses1DataContext())      {        using (StreamWriter sw=new StreamWriter("t.log"))        {          dc.Log = sw;          dc.log.Attach(n);          dc.Refresh(RefreshMode.KeepCurrentValues,n);            dc.SubmitChanges();        }      }    }  staticvoidMain(string[]args)    {      logn1=newlog();      n1.logId=1;      n1.logMessage="xxxx";        updateRe(n1);    }
这时候产生的sql如下

SELECT [t0].[logId], [t0].[logMessage], [t0].[x]FROM [dbo].[log] AS [t0]WHERE [t0].[logId] = @p0-- @p0: Input Int (Size = 0; Prec = 0; Scale = 0) [1]  UPDATE [dbo].[log]SET [logMessage] = @p1, [x] = @p2WHERE [logId] = @p0-- @p0: Input Int (Size = 0; Prec = 0; Scale = 0) [1]-- @p1: Input VarChar (Size = 4; Prec = 0; Scale = 0) [xxxx]-- @p2: Input NChar (Size = 10; Prec = 0; Scale = 0) [Null]