Присоединение не работает в заявлении LINQ - PullRequest
3 голосов
/ 23 марта 2011

Я новичок в LINQ.У меня есть GridView, который я заполняю с помощью LINQ.Мой оператор LINQ берет строку запроса с предыдущей страницы.Строка запроса имеет формат строки.Вот код:

 protected void Page_Load(object sender, EventArgs e)
    {
        string getEntity = Request.QueryString["EntityID"];
        int getIntEntity = Int32.Parse(getEntity);
        OISLinqtoSQLDataContext db = new OISLinqtoSQLDataContext();
        var tr = from r in db.Users
                 join s in db.Entities on r.UserID equals s.ID
                 where s.ID = Request.QueryString["EntityID"]
                 select new
                 {
                     //To Show Items in GridView!
                 };

        GridView1.DataSource = tr;
        GridView1.DataBind();

    }

s.ID не равен QueryString.S.ID - это тип int, а QS - тип строки.Как я должен преобразовать этот QS в целое число?Спасибо!

Ответы [ 3 ]

3 голосов
/ 23 марта 2011

Убедитесь, что вы используете == not = и используйте версию int переменной "getEntity".

protected void Page_Load(object sender, EventArgs e)
{
    string getEntity = Request.QueryString["EntityID"];
    int getIntEntity = Int32.Parse(getEntity);
    OISLinqtoSQLDataContext db = new OISLinqtoSQLDataContext();
    var tr = from r in db.Users
             join s in db.Entities on r.UserID equals s.ID
             where s.ID == getIntEntity
             select new
             {
                 //To Show Items in GridView!
             };

    GridView1.DataSource = tr;
    GridView1.DataBind();

}
2 голосов
/ 23 марта 2011

Вместо этого вы должны использовать проанализированное целое число:

 var tr = from r in db.Users
             join s in db.Entities on r.UserID equals s.ID
             where s.ID == getIntEntity
             select new
             {
                 //To Show Items in GridView!
             };
0 голосов
/ 23 марта 2011

Хорошо!Вот оно:

Мой ID в таблице Entity - это PK, а EntityID в таблице User - это тип int, но без ограничений.Так что это

1-МНОЖЕСТВО Отношений.

...