2
我有一個問題想刪除與實體框架的對象,我以前查詢上下文來獲取對象的列表我需要刪除,然後再一個一個我調用DeleteObject實體框架DeleteObject的查詢項目很多
IQueryable result = context.CustomObjects.Where(t=>t.Property = something)
foreach (CustomObject customObj in result)
{
context.DeleteObject(customObj);
}
當我調用DeleteObject EF執行一個奇怪的查詢,這樣的事情:
exec sp_executesql N'SELECT
[Extent1].[Value1] AS [Value1],
[Extent1].[Value2] AS [Value2],
[Extent1].[Value3] AS [Value3],
FROM [CustomObject] AS [Extent1]
WHERE [Extent1].[ID] = @EntityKeyValue1',N'@EntityKeyValue1 int',@EntityKeyValue1=59
該查詢似乎搜索所有與ID =東西的對象,但ID它只是爲實體鍵的一部分的確由3個字段組成,因此它附着了n千個項目和m個這個過程非常緩慢,這是我無法理解的行爲,我總是以這種方式刪除對象,我從來沒有這樣的問題
有人可以有一個想法嗎?
謝謝