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]