原文:EF 中更新模型的問題,這種錯誤(因為相同類型的其他實體已具有相同的主鍵值。)

在EF經常在更新模型的時候可能會同時操作一個實體幾次。 其實除了SaveChanges外,其它的幾次基本都是要查詢出一個結果, 例如更新的時候,我們要查一下這個表中有沒有相同的紀錄之類的。 查詢完之后,我們再SaveChanges就會出錯。 怎么辦呢 查詢的時候我們用這個方法查詢:AsNoTracking 這個方法返回一個新查詢結果,但返回的實體不會在緩存中。也就是EF查完了就不再跟蹤了。 好了。 ...

2015-12-10 12:35 1 5697 推薦指數:

查看詳情

因為相同類型的其他實體已具有相同主鍵值。在使用 "Attach" 方法或者將實體的狀態設置為 "Unchanged" 或 "Modified" 。。。

因為相同類型的其他實體已具有相同主鍵值。在使用 "Attach" 方法或者將實體的狀態設置為 "Unchanged" 或 "Modified" 時如果圖形的任何實體具有沖突鍵值,則可能會發生上述行為。這可能是因為某些實體是新的並且尚未接收數據庫生成的鍵值。在此情況下,使用 "Add" 方法 ...

Sun Mar 29 04:24:00 CST 2015 1 3074
錯誤:因為相同類型的其他實體已具有相同主鍵值。在使用 "Attach" 方法或者將實體的狀態設置為 "Unchanged" 或 "Modified" 解決方法

更新一個實體類的時候可能會有預先有一次查詢或者其它操作,我們這樣用目的是為了與提交的數據做一個比較之類的東西,如果先查詢再對此類進行SaveChanges就會出錯。 我們只要用AsNoTracking()讓它停止追蹤就行了。如下: 返回查詢結果系統將不在追蹤,不影響下面的操作。 ...

Mon Apr 25 18:20:00 CST 2016 0 4843
關於Entity Framework更新的幾種方式以及可能遇到的問題(附加類型“Model”的實體失敗,因為相同類型的其他實體已具有相同主鍵值)在使用 "Attach" 方法或者將實體的狀態設置為 "Unchanged" 或 "Modified" 時如果圖形的任何實體具有沖突鍵值,則可

在日常使用Entity Framework,數據更新通常會用到。下面就簡單封裝了一個DBContext類 View Code 第一種更新方式,先通過Entity Framework從數據庫查找出一條記錄(實體對象),然后修改實體對象的各個屬性,最后調用 ...

Tue Aug 15 06:59:00 CST 2017 0 3998
Java 相同類型強制轉換異常

版權聲明:本文為博主原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接和本聲明。 本文鏈接: https://blog.cs ...

Sun Nov 03 11:24:00 CST 2019 1 824
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM