给我建议将下面的Linq转换为普通的SQL查询 [英] Give me a suggestion to convert below Linq to normal sql query

查看:63
本文介绍了给我建议将下面的Linq转换为普通的SQL查询的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

protected void Login1_Authenticate(object sender, AuthenticateEventArgs e)
        {

            LinqChatDataContext db = new LinqChatDataContext();

            var user = (from u in db.Users
                        where u.Username == Login1.UserName
                        && u.Password == Login1.Password
                        select u).SingleOrDefault();


            if (user != null)
            {
                e.Authenticated = true;
                Session["ChatUserID"] = user.UserID;
                Session["ChatUsername"] = user.Username;
            }
            else
            {
                e.Authenticated = false;
            }
        }

推荐答案

您必须创建这样的查询,并读取值并将其转换为对象(如果需要).
You have to create query like this, and read the values and convert it to object if required.
"select * from Users where Username = '" + Login1.UserName + "' and Password = '" + Password + "'"


优良作法是改用参数化查询或存储过程.


Good practice is to use parameterized query or stored procedure instead.


尝试以下代码从LINQ查询中获取SQL查询.

Try as below code to get SQL Query from your LINQ Query.

LinqChatDataContext db = new LinqChatDataContext();

IQueryable<User> myQuery = (from u in db.Users
                        where u.Username == Login1.UserName
                        && u.Password == Login1.Password
                        select u).SingleOrDefault();

string sqlCommand = LinqChatDataContext.GetCommand(myQuery).CommandText;


这篇关于给我建议将下面的Linq转换为普通的SQL查询的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆