2010-06-17 118 views

回答

6
dbContext.Users.Any(x => x.ID == inputID) 
+0

+1。這導致了最高效的數據庫查詢。 – Steven 2010-06-17 15:15:50

+0

謝謝你這個漂亮的作品! :) – 2010-06-17 15:22:44

1
var user = dbContext.GetTable<User>().SingleOrDefault(u => u.ID == inputID); 
bool userExists = user != null; 

將從數據庫中讀取匹配的用戶,如果你只是要檢查所有腦幹你可以這樣做:

int matchingUsers = dbContext.GetTable<User>().Count(u => u.ID == inputID); 
bool userExists = matchingUsers > 0; 

bool userExists = dbContext.GetTable<User>().Any(u => u.ID == inputID); 
+0

我從來沒有以前見過'GetTable <>'方法。 'dbContext.GetTable ()'和'dbContext.Users'之間有什麼區別?謝謝。 – 2010-06-17 15:17:43

+0

@Deniz Dogan - GetTable在DataContext類中定義,如果您使用linq2sql設計器創建實體類,那麼它將創建DataContext的子類併爲每個db-mapped類型定義一個屬性。所以在這種情況下,它會看起來像'IQueryable Users {get {return this.GetTable (); }}' – Lee 2010-06-17 15:21:52

+0

啊,我明白了。所以這兩種方式基本相同。涼。 :) – 2010-06-17 15:24:24