SQL Server には、次のような非常に単純なビューがあります。ここで、Showは、 Characterテーブルを使用したLEFT JOINの結果です。
+---------+----------+----------------------+
| Name | Surname | Show |
+---------+----------+----------------------+
| Enoch | Thompson | The Boardwalk Empire |
| Anthony | Soprano | The Sopranos |
| Walter | White | Breaking Bad |
+---------+----------+----------------------+
アプリケーションでEntity Framework を介してこのテーブルを取得するcontext.CharacterView.ToList()
と、結果は次のようになります。
+---------+----------+----------------------+
| Name | Surname | Show |
+---------+----------+----------------------+
| Enoch | Thompson | The Boardwalk Empire |
| Anthony | Soprano | The Boardwalk Empire |
| Walter | White | The Boardwalk Empire |
+---------+----------+----------------------+
ただし、DB では CharacterView は本来あるべき姿です。
ビュー クエリの作成
CREATE VIEW CharacterView AS
SELECT c.Name AS [Name],
c.Surname AS [Surname],
s.Name AS [Show]
FROM [dbo].[Characters] AS c LEFT OUTER JOIN
[dbo].[Shows] AS scen ON c.ShowId = s.Id