質問: 1 ``` Entity Frameworkは、このクエリに基づいてエンティティを作成しますが、次のようなエラーでそれを生成します。 > 警告6002:テーブル/ビュー 'Keystone_Local.dbo.MeterProvingStatisticsPoint'には主キーが定義されていません。キーが推測され、定義は読み取り専用のテーブル/ビューとして作成されました。 > > そして、CompletedDateTimeフィールドがこのエンティティの主キーになることを決定します。 モデルの生成にはEdmGenを使用しています。エンティティフレームワークにこのビューのフィールドを主キーとして含めないようにする方法はありますか?
回答: 私たちも同じ問題を抱えており、これが解決策です。 エンティティフレームワークに列を主キーとして使用させるには、ISNULLを使用します。 エンティティフレームワークに列を主キーとして使用しないように強制するには、NULLIFを使用します。 これを適用する簡単な方法はあなたのビューのselectステートメントを他のselectでラップすることです。 例: ``` SELECT ISNULL(MyPrimaryID,-999) MyPrimaryID, NULLIF(AnotherProperty,'') AnotherProperty FROM ( ... ) AS temp ```