使用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 profiler的代码。直接在服务器上运行它会产生正确的结果。 :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]
答案 0 :(得分:1)
这不是.NET的问题。执行您在SSMS中捕获的确切查询。结果可能是相同的。
请务必在正确的数据库中执行此操作。