簡體   English   中英

確定表是否已包含具有特定ID的記錄的最佳方法是什么?

[英]What is the best way to determine if table already has record with specific ID?

我有一個簡短的問題。 在我當前的項目中,我正在使用LINQ-to-SQl。 那是確定表是否具有特定ID記錄的最佳方法?

提前致謝。

如果您只需要知道它是否存在,那么也許:

var exists = db.SomeTable.Any(row => row.Id == id);

如果您想要該行(如果不存在,則為null ),則:

var row = db.SomeTable.FirstOrDefault(row => row.Id == id);

實際上,在.NET 3.5中,使用以下優點可以說是有好處的

var row = db.SomeTable.Where(row => row.Id == id).FirstOrDefault();

但這已在4.0中修復,並且兩者的工作原理相同。 區別在於,在3.5SP中, FirstOrDefault(predicate)不會檢查身份管理器,因此即使它已經知道您要查詢的行(因為它已在內存中),它也會命中數據庫。

暫無
暫無

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

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