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]