Linq 查询获取与 sql 查询视图不同的值

Posted

技术标签:

【中文标题】Linq 查询获取与 sql 查询视图不同的值【英文标题】:Linq query fetches different value than sql query view 【发布时间】:2017-04-07 08:01:13 【问题描述】:

我通过加入 3 个表并使用 Entity Framework 并在我的应用程序中访问它,在 SQL Server 中创建了一个 视图

我有以下代码从视图表中获取值。

 tapDataContext.TapTimeSheetViews.
Where(timesheet=>timesheet.UserId==userId && timesheet.WorkDate==dates);

这会获取重复值。但是,sql 查询给出了正确的值。

我已经推荐了this link here 并添加了

    [Key, Column(Order = 0)]
    public long TapStartStopDataId  get; set;  

作为键值。 但是,当我执行我的应用程序时,我仍然没有得到正确的结果。

【问题讨论】:

您也应该发布 SQL 查询,以便可以比较两者。 【参考方案1】:

最后,我找到了解决方案 我使用row_number() over (order by Id) as rownum, 创建了一个新列并将其作为键。我删除了我的 EDMX 图并再次添加,因此新列将在那里填充,我得到了所需的结果

【讨论】:

以上是关于Linq 查询获取与 sql 查询视图不同的值的主要内容,如果未能解决你的问题,请参考以下文章

MySQL视图查询超慢,求解答

LINQ 查询中的自联接并返回视图

在 SQL Server 2014 中写入基础表后立即查询视图

Linq to sql,聚合列,按日期分组到列表视图

如何使用 LINQ 将表列查询到数组中

mysql的查询表与查询视图的问题