テーブルとビューのクラスから MVC 4 のデータを取得するために linq を使用しています。次のように、ビューからデータを抽出するために linq を使用する場合:
db.vwContractMVC.Where(x => x.NID == id && x.Date >= pin && x.Date <= pen).ToList();
次に、linq は次のようにサブクエリを使用して SQL クエリを作成します。
SELECT
[Extent1].[NID] AS [NID],
[Extent1].[Date] AS [Date],
[Extent1].[Column1] AS [Column1],
[Extent1].[Column2] AS [Column2],
[Extent1].[Column3] AS [Column3]
FROM (SELECT
[vwContractMVC].[NID] AS [NID],
[vwContractMVC].[Date] AS [Date],
[vwContractMVC].[Column1] AS [Column1],
[vwContractMVC].[Column2] AS [Column2],
[vwContractMVC].[Column3] AS [Column3]
FROM [dbo].[vwContractMVC] AS [vwContractMVC]) AS [Extent1]
WHERE ([Extent1].[NID] = @p__linq__0) AND ([Extent1].[Date] >= @p__linq__1) AND ([Extent1].[Date] <= @p__linq__2)
テーブルが使用されている場合 - クエリは簡単です:
SELECT
[Extent1].[NID] AS [NID],
[Extent1].[Date] AS [Date],
[Extent1].[Column1] AS [Column1],
[Extent1].[Column2] AS [Column2],
[Extent1].[Column3] AS [Column3]
FROM [dbo].[Contract] AS [Extent1]
WHERE ([Extent1].[NID] = @p__linq__0) AND ([Extent1].[Date] >= @p__linq__1) AND ([Extent1].[Date] <= @p__linq__2)
質問は - 可能な場合はもちろん、linq make simple select from view を取得する方法です)
そのためのストアド プロシージャを作成できますが、既存のテーブルとビューを使用したいと考えていました。