2010-06-17 119 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