从数据库linqtosql访问值的任何更好的方法

本文关键字:任何 方法 更好 数据库 linqtosql 访问 | 更新日期: 2023-09-27 18:15:11

在使用Ling to SQL时,这是访问值的正确方式吗?我尝试返回一个IQueryable,但得到了一个错误,说明"处理后访问的DataContext"。’然后把它转换成一个列表。有人能告诉我这是可以的,或者建议我一些其他的答案,你觉得会更有效。我可以使用相同的实现在所有其他功能,将获取数据?请帮助。

public List<SS_User> Login(string UserName,String Password)
        {

            using (DbContext = new DALDataContext())
            {
                IQueryable<SS_User> User = (from Users in DbContext.SS_Users
                                            where (Users.UserName == UserName && Users.Password == Password)
                                            select Users);
                return User.ToList<SS_User>();
            }
        }

从数据库linqtosql访问值的任何更好的方法

就行了。注意,过于具体会让你的生活变得困难——你可以这样做:

return (from user in dB.Users
             where {your test}
             select user).ToList();

但是这和操作上的没有什么不同。

思想:

  • 你不应该期待0或1匹配吗?不是多吗?(FirstOrDefault/SingleOrDefault)
  • 我该怎么说呢…停止存储密码。没有真正的;阻止它。只有盐渍哈希。

当返回IQueryable时,它没有工作的原因是查询被"延迟"-它还没有被执行。如果在查询迭代(foreach, ToList等)之前处理数据上下文("using"),则查询无法工作。这就像从水龙头上取下一根软管,然后走到"业务端",打开喷嘴,想知道为什么没有水。

相关文章: