檢查實體框架中是否存在對象的最佳方法?

entity-framework exists linq-to-entities

從性能的角度來看,檢查數據庫中是否存在對象的最佳方法是什麼?我正在使用Entity Framework 1.0(ASP.NET 3.5 SP1)。

一般承認的答案

如果您不想直接執行SQL,最好的方法是使用Any() 。這是因為Any()會在找到匹配後立即返回。另一個選項是Count() ,但這可能需要在返回之前檢查每一行。

以下是如何使用它的示例:

if (context.MyEntity.Any(o => o.Id == idToMatch))
{
    // Match!
}

在vb.net中

If context.MyEntity.Any(function(o) o.Id = idToMatch) Then
    ' Match!
End If

熱門答案

從性能的角度來看,我猜使用EXISTS命令的直接SQL查詢是合適的。請參閱此處了解如何在Entity Framework中直接執行SQL: http//blogs.microsoft.co.il/blogs/gilf/archive/2009/11/25/execute-t-sql-statements-in-entity-framework- 4.aspx



Related

許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因
許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因