Первое преобразование SQL в Linq - PullRequest
0 голосов
/ 15 января 2012

Я новичок в LINQ, может кто-нибудь подсказать мне, как мне преобразовать следующий SQL-запрос в Linq.

Select tblIns.InsID, tblProg.ProgName 
from tblIns, tblProg 
Where tblIns.InsID = tblProg.InsID

Я работаю над проектом MVC2, у меня есть dataContext и Reposetories, см. Нижекод, где мне нужен этот запрос:

public IQueryable<tblInstitute> InsRepeater()
{
    return from Inst in _db.tblInstitutes 
           from Progs in _db.tblPrograms 
           Where Inst.InstituteID = Progs.InstituteID 
           Select Inst.InstituteID, Progs.ProgramName
 }

Ответы [ 3 ]

3 голосов
/ 15 января 2012

Первое, что вам нужно, это контекст данных, который эмулирует вашу базу данных.Вот пример того, как сделать это с linq to sql .Вы также можете сделать это с помощью Entity Framework (EF) или любого другого провайдера.

Как только вы создадите таблицы, запрос будет преобразован довольно прямо:спросил, это столько, сколько я думаю будет полезно.В будущем лучше всего написать вопросы, объясняющие, что вы пытаетесь сделать, что вы пробовали, а затем, где вы застряли.Вопрос должен быть достаточно конкретным, чтобы вы могли пройти через следующий горбс точкой с запятой (при условии, что это ).Затем вы выбираете оператор необходимо выбрать новый объект.Результаты будут выглядеть примерно так:

public IQueryable<tblInstitute> InsRepeater()
{
    return from Inst in _db.tblInstitutes 
           from Progs in _db.tblPrograms 
           where Inst.InstituteID equals Progs.InstituteID 
           select Inst; // for the current method header
           //select new { Inst.InstituteID, Progs.ProgramName }; // to use this one you'll have to create a new type with the properties you want to return
}
0 голосов
/ 16 января 2012

Если у вас правильно настроены внешние ключи в базе данных, вы можете просто сделать это, нет необходимости в самих присоединениях:

from x in db.tblProgs
select x.tblIns.id, x.Progname
0 голосов
/ 15 января 2012

Сначала нужно 1. Создайте классы сущностей. 2. Контекст данных. 3. Определите отношения 4. Запрос

Ссылка

from I in tblIns
from P in tblProg 
Where I.InsID = P.InsID
Select I.InsID, P.ProgName 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...