WCF服务LINQ登录用户的查询

本文关键字:查询 用户 登录 服务 LINQ WCF | 更新日期: 2023-09-27 18:11:25

我在应用程序中使用LINQ查询来登录用户。我想检查名为tbluser的SQL Azure表,我正在使用生成的LINQ数据类来查询我的SQL Azure表。我已经成功地能够查询LINQ表tblAsset来传递查询,其中*或只需要一列。

我明白,要登录用户,我需要使用WHERE检查用户名和密码,但我没能破解这个。

我已经尝试了以下代码:

 public List<User> SigninUser(int uname, string pass)
{
    DataClasses1DataContext context = new DataClasses1DataContext();
    IEnumerable<User> result = (from a in context.Users
                  where (a.UserID==uname && a.Password==pass)
                  select new 
                  { 
                      a.UserID, 
                      a.Password
                  }).ToList()
                  ;
    return result.ToList();
}

但是返回错误-

Cannot implicitly convert type 'System.Collections.Generic.List<AnonymousType#1>' to 'System.Collections.Generic.IEnumerable<MyService.User>'. An explicit conversion exists (are you missing a cast?)

WCF服务LINQ登录用户的查询

创建一个匿名类型:

new 
{ 
    a.UserID, 
    a.Password
}

但是你的结果类型是:IEnumerable<User>

用:

代替IEnumerable<User>
 IEnumerable<User> result = (from a in context.Users
                      where (a.UserID==uname && a.Password==pass)
                      select a).ToList();

或者更好:

 IEnumerable<User> result = context.Users.Where(a => a.UserID==uname && a.Password==pass);

(感谢justMe和navk)