0

使用 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]
4

1 回答 1

1

这不是 .NET 的问题。执行您在 SSMS 中捕获的确切查询。结果很可能是一样的。

请务必在正确的数据库上执行此操作。

于 2012-04-25T13:50:34.377 回答