お話しする自由がないいくつかの理由により、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 を使用してモデルを生成しています。エンティティ フレームワークにこのビューのフィールドを主キーとして含めないようにする方法はありますか?