簡體   English   中英

實體框架一遍又一遍地保存相同的鏈接實體

[英]Entity Framework saving the same linked entity over and over again

我來自NHibernate,對於Entity Framework對鏈接實體的處理我很困惑。

我有一個稱為Post的模型。 每個帖子都有一個鏈接實體帳戶,該帳戶告訴創建該帖子的帳戶。

創建帖子時,我使用以下代碼:

var post = new Post();
post.Account = GetAccount();
db.Posts.Add(post);
db.SaveChanges();

GetAccount()的作用是基於cookie從數據庫中獲取當前用戶的帳戶。 它還為當前請求(asp.net)緩存了此消息,因此不必多次提取。

現在,這將為我保存的每個帖子插入一個新帳戶(相同但具有新ID)。 我已經為Account實現了Equals和GetHashCode,對於NHibernate來說已經足夠了,但是對於Entity Framework來說還不夠,對嗎?

我想念什么?

您需要確保在執行此操作時使用相同的DataContext類,因為它不會將其注冊為現有實體。 因此,為什么每次保存都需要復制帳戶。

*請參閱有關初始問題的評論。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM