Innerjoin в Linq-к-SQL для этого в asp.net MVC - PullRequest
0 голосов
/ 29 апреля 2010

Я использую asp.net mvc ... Как написать внутреннее объединение в linq-to-sql для этого SQL-запроса

select M.Mat_id,M.Mat_Name,T.Name as Measurement,M.Mat_Type as Description 
 from Material as M inner join MeasurementTypes as T 
  on M.MeasurementTypeId = T.Id where M.Is_Deleted=0

И у моего класса хранилища есть это,

    public class ConstructionRepository
    {
        private CRDataContext db = new CRDataContext();
        public IQueryable<Material> FindAllMaterials()
        {
            return db.Materials;
        }
    }

Мой результат db.Materials - это данные таблицы. Я не хочу, чтобы я хотел присоединиться к другой таблице и показать данные ....

public class ConstructionRepository
 {
    private CRDataContext db = new CRDataContext();
     public IQueryable<Material> FindAllMaterials()
    {
                //inner join query
     }
    }

Любые предложения ...

1 Ответ

1 голос
/ 29 апреля 2010

Это вернет анонимные типы с данными, которые вы указали в запросе SQL, но вы можете просто вернуть сами материальные объекты.

from material in db.Materials
from measurementType in material.MeasurementTypes
where material.Is_Deleted = false
select new {
    material..Mat_id,
    material.Mat_Name,
    Measurement = measurementType.Name,
    Description = material.Mat_Type
}
...