如何使用实体框架检查数据库中的特定条目

时间:2011-05-09 16:55:11

标签: asp.net entity-framework-4

我正在创建一个登录屏幕,我从表单中获取用户ID和密码。如何使用实体框架检查数据库中是否已存在重复的ID?

我正在使用实体框架4和asp.net 4.0

我对实体框架很陌生,所以简单的回复会非常有用。

谢谢!

1 个答案:

答案 0 :(得分:3)

重复ID?那么你想验证登录是否正确,或者你想在创建新用户时检查登录是否已存在?

如果您想验证登录使用:

bool exists = context.Users.Any(u => u.Login == userName && u.Password == pwdHash);

如果您需要检索用户以在客户端进行验证(绝对不需要),您可以致电:

var user = context.Users.SingleOrDefault(u => u.Login == userName); 

如果没有传递用户名的用户,则此调用将返回null。

如果您想在新用户注册期间检查登录是否空闲,您通常也可以使用Any,但您必须执行检查并插入相同的序列化事务中 - 这会对高流量数据库产生性能影响。另一种方法是对数据库中的用户名设置唯一约束,并简单地尝试保存新用户。如果存在用户名,您将捕获异常。