私が話す自由がないいくつかの理由により、Sql Server 2005データベースのビューを次のように定義しています。
CREATE VIEW [dbo].[MeterProvingStatisticsPoint]
AS
SELECT
CAST(0 AS BIGINT) AS 'RowNumber',
CAST(0 AS BIGINT) AS 'ProverTicketId',
CAST(0 AS INT) AS 'ReportNumber',
GETDATE() AS 'CompletedDateTime',
CAST(1.1 AS float) AS 'MeterFactor',
CAST(1.1 AS float) AS 'Density',
CAST(1.1 AS float) AS 'FlowRate',
CAST(1.1 AS float) AS 'Average',
CAST(1.1 AS float) AS 'StandardDeviation',
CAST(1.1 AS float) AS 'MeanPlus2XStandardDeviation',
CAST(1.1 AS float) AS 'MeanMinus2XStandardDeviation'
WHERE 0 = 1
Entity Frameworkは、このクエリに基づいてエンティティを作成しますが、次のようなエラーでエンティティを生成します。
警告6002:テーブル/ビュー 'Keystone_Local.dbo.MeterProvingStatisticsPoint'には主キーが定義されていません。キーが推定され、定義は読み取り専用のテーブル/ビューとして作成されました。
そして、CompletedDateTimeフィールドがこのエンティティの主キーになることを決定します。
EdmGenを使用してモデルを生成しています。エンティティフレームワークにこのビューのフィールドを主キーとして含めないようにする方法はありますか?