2016-02-15 27 views
1

簡單明瞭, 有實體框架卸下VS State.Deleted

DbSet()之間的任何差異。取出(X)

context.Entry(X)= .STATE State.Deleted?

感謝

+0

看[此](http://stackoverflow.com/questions/17723626/entity-framework-remove-vs-deleteobject)。 – BWA

回答

2

不,我可以告訴大家,在MSDN文章刪除說

商標指定的實體爲已刪除,這樣它將從數據庫中刪除時調用SaveChanges。請注意,在調用此方法之前,實體必須存在於其他某個狀態的上下文中。

。刪除可能只是刪除項目的首選方式。

編輯:

此外,MSDN文章爲EntityState說,這已刪除。

實體正在被上下文跟蹤並存在於數據庫中,但在下次調用SaveChanges時已標記爲從數據庫中刪除。

剛剛將進一步鞏固他們實際上是相同的事情。

+0

而爲了刪除一個項目它必須被加載到CACH是嗎?即使知道鑰匙,也沒有這種東西可以刪除,這是否正確? –

+0

是的,他們都期望的實體存在,但第二個方法,如果有一個LINQ表達式中使用可用於嘗試設置一個實體通過我預想的刪除(即使不存在,因爲LINQ只想沒有回來) –