【问题标题】:Linq Query Join TablesLinq 查询连接表
【发布时间】:2015-01-23 12:51:18
【问题描述】:

我有这个 Linq 查询,我在上面运行搜索功能(DateFrom 和 DateTo 是 dateTime 对象):

 var result = from x in DbContext.Transaction_Groups
 where  (x.Date_Created >= DateFrom && x.Date_Created <= DateTo)
 select x;

这些是我的桌子:

我正在尝试将这两个表连接在一起,以便可以使用.Transaction_Date_Time 而不是查询中的.Date_Created function

我的查询试图确定DateFrom(用户选择的值)和DateTo(另一个用户选择的值)之间的所有行。

【问题讨论】:

标签: c# mysql sql-server linq entity-framework-6


【解决方案1】:
var result = from transgroup in DbContext.Transaction_Groups
             join cashDep in DbContext.CashDeposit
             on transgroup.Group_ID equals cashDep.Group_ID
             where (cashDep.Transaction_Date_Time >= DateFrom
                    && cashDep.Transaction_Date_Time <= DateTo)
             select transgroup

未经测试,但应该可以工作。为了清楚起见,缩进。

【讨论】:

    【解决方案2】:

    您想通过 Group_ID 加入吗?

     var result = from x in DbContext.Transaction_Groups
     join tran in DbContext.CashDeposit on x.Group_ID equals tran.Group_ID
     where  (tran.Transaction_Date_Time >= DateFrom && tran.Transaction_Date_Time <= DateTo)
     select tran;
    

    【讨论】:

    • 我真的觉得给一个表的变量一个名字是另一个表的开头很奇怪。事实上,它是令人困惑的,就像使用单字母变量一样。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-27
    • 1970-01-01
    • 1970-01-01
    • 2015-09-13
    相关资源
    最近更新 更多