Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何使用单个字段联接将SQL转换为LINQ?_C#_Sql_Asp.net_Linq_Linq To Sql - Fatal编程技术网

C# 如何使用单个字段联接将SQL转换为LINQ?

C# 如何使用单个字段联接将SQL转换为LINQ?,c#,sql,asp.net,linq,linq-to-sql,C#,Sql,Asp.net,Linq,Linq To Sql,我有一个SQL语句,我想在.NET网站项目中实现它。我不知道如何加入特定字段,因为当我从表中选择时,字段不可用 我的SQL 挑选* 从[vResidence]c 在c.UID=j.UID上加入[vJobs]j 这是我尝试过的LINQ,但我仍停留在“开启”部分: 结果=(来自vJobs中的j 将cr加入vResidence on???) 当我尝试“j.”时,得到的唯一选项是“equals”。您可以这样做。使用equals关键字连接到表 var result = from r in vResiden

我有一个SQL语句,我想在.NET网站项目中实现它。我不知道如何加入特定字段,因为当我从表中选择时,字段不可用

我的SQL

挑选*

从[vResidence]c

在c.UID=j.UID上加入[vJobs]j

这是我尝试过的LINQ,但我仍停留在“开启”部分:

结果=(来自vJobs中的j

将cr加入vResidence on???)


当我尝试“j.”时,得到的唯一选项是“equals”。

您可以这样做。使用
equals
关键字连接到表

var result = from r in vResidence
             join j vJobs on r.UID equals  j.UID
             select new {[yourcolnum]};
你可以试试这个

var result = (from j in vJobs
              join cr in vResidence
              on j.UID equals cr.UID
              select new {
                ...
              }).ToList();

Linq表达式如下所示:

from t1 in Table1
join t2 in Table2
 on t1.ID equals t2.ID
必须按顺序执行上的join子句
:首先是第一个表,然后是第二个表。

必须使用关键字
equals

除了上面的
Linq
答案之外,我们还可以使用扩展名
Lambda
表达式来进行
连接。试一试

        var result = vJobs.Join(vResidence, jb => new { jb.UID }, res => new { res.UID },
                     (jb, res) => new { jb, res })
                     .Select(x => x.jb) //Select the required properties (from both objects) with anonymous object or select left/right object
                     .ToList();

使用示例数据。

如何从数据库中获取表?如果正确映射了数据库表,则应自动创建类&字段将可用-允许非常类似的联接“j.UID==cr.UID”-如果字段不可用,那么vJobs和vResidence实例是什么?另请参见:我不知道linq使用“equals”而不是==。。。。感谢您一如既往的帮助:不要使用
join
,请使用导航属性。这不是
Lambda
表达式,而是
Linq