SQL中的SQL到LINQ(使用多个表和别名查询)

时间:2011-05-26 15:17:53

标签: c# sql linq sql-to-linq-conversion

是否有人可以在C#中将此查询转换为Linq。我正在搜索,我没有找到任何类似的查询。 非常感谢! SQL句子:

SELECT a.Amenaza, c.Nombre, c.Descripcion
 FROM AmenazasEstablecer a, ControlesEstablecer c, Matriz_Amenazas_ControlesEstablecer m
 WHERE a.IdAmenaza = m.IdAmenaza AND c.IdControl=m.IdControl;

2 个答案:

答案 0 :(得分:5)

您必须创建并指定一个DataContext,但是一旦完成,您就可以逃脱:

MyDataContext context = new MyDataContext("SomeConnectionString");

var results = from a in context.AmenazasEstablecer
              from c in context.ControlesEstablecer
              from m in context.Matriz_Amenazas_ControlesEstablecer
              where a.IdAmenaza == m.IdAmenaza && c.IdControl == m.IdControl
              select new {
                  a.Amenaza,
                  c.Nombre,
                  c.Descripcion
              });

答案 1 :(得分:4)

var results = from a in context.AmenazasEstablecer 
              join m in context.Matriz_Amenazas_ControlesEstablecer 
                          on  a.IdAmenaza equals m.IdAmenaza
              join c in context.ControlesEstablecer 
                          on c.IdControl equals m.IdControl
             select new {a.Amenaza, c.Nombre, c.Descripcion};