【发布时间】:2016-11-30 13:09:02
【问题描述】:
我正在尝试编写一个 LINQ 查询,它可以从两个 SQL Server 数据表中获取一些不同的值。
我有两个名为Facility_Cost_TBL 和Tenant_Bills_TBL 的表。
然后我有一个名为 Nursing_Home_Name 的列,我试图从中获取不同的数据。
这是我在 LINQ 中的努力,但它不起作用,
var name = (from f in dataContext.Facility_Cost_TBLs
join t in dataContext.Tenant_Bills_TBLs on f.Tenant_Code equals t.Tenant_Code
where f.Tenant_Code == code && f.Date_Month == date.Month && f.Date_Year == date.Year
select new {Facility_Cost_TBL = f, Tenant_Bills_TBL = t}).Distinct();
这是我通过 T-SQL 完成的工作 SQL 语句。
SELECT DISTINCT Nursing_Home_Name
FROM (SELECT Nursing_Home_Name
FROM Facility_Cost_TBL
WHERE Date_Year = 2016 AND Date_Month = 10 AND Tenant_Code = 664250
UNION SELECT Nursing_Home_Name
FROM Tenant_Bills_TBL
WHERE Year_Data = 2016 AND Month_Data = 10 AND Tenant_Code = 664250)
a
有人能告诉我什么 LINQ 语法和什么 LINQ 扩展方法查询是什么样的吗?
【问题讨论】:
-
在您的
LINQ加入中,您不应该也加入Year和Month吗? -
@WEI_DBA,我不知道该怎么做,这就是为什么这不起作用。
-
您的 Linq 语句的问题在于它正在执行内部联接,因此只有在两个表都有条目时才返回结果。
-
@sgmoore,感谢您的帮助,我不太清楚自己做错了什么。对 LINQ 来说还是个新手。
标签: c# sql sql-server linq