linq更新部分資料時遇到的問題及解決辦法

2021-09-20 13:47:09 字數 1216 閱讀 2673

問題:因為每次更新的時候只是某個類的一部分,但是這個類的屬性比較多.

更新函式如下

static void updatere(log n)}}

updatere(n1);}

static

void

main(

string

args)

會引發"已嘗試 attach 或 add 實體,該實體不是新實體,可能是從其他 datacontext 中載入來的。不支援這種操作。"異常,沒找到把n1從它的datacontext脫離的辦法.所以我使用如下的解決方案:

在log的部分類中書寫轉殖方法:

public

partial

class

log}

static

void

main(

string

args)

生成的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

where [logid] = @p0

-- @p0: input int (size = 0; prec = 0; scale = 0) [1]

-- @p1: input varchar (size = 4; prec = 0; scale = 0) [***y]

感覺這個clone()方法也不是好的解決方案,大家有什麼好的想法麼?

ps:可以使用反射**自動拷貝dbml中的相應屬性

class

utility

returnt;}

}

static

void

update(

intid, action

<

log>

updater)

}public

static

void

set(log l)

static

void

main(

string

args)

linq更新部分資料時遇到的問題及解決辦法

問題 因為每次更新的時候只是某個類的一部分,但是這個類的屬性比較多.更新函式如下 static void updatere log n staticvoidmain stringargs 這時候產生的sql如下 select t0 logid t0 logmessage t0 x from dbo ...

poi批量匯入資料時部分資料丟失

解決思路 debug 發現physicalnumberofcells代表的單元格數量與 列數不符,這就意味著最後兩列的單元格根本沒有讀取到。查閱資料 發現獲取單元格列數使用的是getphysicalnumberofcells方法,而該方法讀取的是不為空的單元格總列數,恰好匯入的 中有兩列為空的單元格...

關於從遠端取資料更新到本地時遇到的時間問題

近日部署了乙個從遼寧招辦取瀋陽的資料的乙個專案,取回來的資料中有時間字段,奇怪的現象是,只要是從瀋陽取得的時間,更新到遼寧的時候,肯定會慢13個小時,百思不得其解.讓手下用各種方法去找原因,得知 1.從瀋陽本地的資料庫直接讀出來的資料沒有問題 2.從北京取瀋陽的資料沒有問題 3.資料一到遼寧就變 從...