使用 ASP .Net (MVC Unity Framework) 遇到一个真正奇怪的问题。我的观点如下(在这个例子中已经简化了):
CREATE VIEW [dbo].[V_eSummary] AS
SELECT a.ID,
a.Domain
FROM [Table1] a
GROUP BY a.ID,
a.Domain
基础表具有重复的值,因此分组以获得不同的值。
在 .Net 中,我有以下 LINQ 查询:
var eSummary = from s in ctx.V_eSummary
select s;
而不是看到(如在 SQL 中运行视图时显示的那样):
ID Domain
206080 .hello.com
206080 .this.com
206080 www.hello.com
206080 .www.hello.com
206080 .hello.zettaneer.com
我懂了:
ID Domain
206080 .hello.com
206080 .hello.com
206080 .hello.com
206080 .hello.com
206080 .hello.com
使用 SQL 探查器,似乎正在执行正确的查询。但是,无论出于何种原因,它都会在 .Net 中带来不正确的值。
任何建议都非常感谢。
根据要求,这是来自 SQL 分析器的代码。直接在服务器上运行它会产生正确的结果。:S
SELECT
[Extent1].[ID] AS [ID],
[Extent1].[Domain] AS [Domain]
FROM (SELECT
[V_eSummary].[ID] AS [ID],
[V_eSummary].[Domain] AS [Domain]
FROM [dbo].[V_eSummary] AS [V_eSummary]) AS [Extent1]