C#中的SQL到LINQ具有多个表和别名的查询

问题描述

| 是否有人可以将此查询转换为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;
    

解决方法

您将必须创建并指定一个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
              });
    ,
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.Descripcion};