EF Core 2.1には新しい機能Query Typesがあります。
クエリタイプの主な使用シナリオは次のとおりです。
- アドホックFromSql()クエリの戻り型として機能します。
- データベースビューへのマッピング。
- 主キーが定義されていないテーブルへのマッピング。
- モデルで定義されたクエリへのマッピング。
プロジェクトをCore 2.1にアップグレードしましたが、Scaffold-DbContextでデータベースビューが生成されません。特別なパラメーターを使用する必要がありますか、それともScaffold-DbContextがサポートしていませんか?
2.1ではサポートされていません。問題 #1679 を参照してください。
これはハックですが機能する解決策です:
Key
属性を追加し、スキャフォールディングの完了後に削除してください。DbSet<T>
の新しいプロパティが追加されているはずです。ここで、T
は、手順2で作成したクラスです。 DbSet
をDbQuery
に変更します。OnModelCreating
のDbContext
メソッドに、次のコードを追加します。
modelBuilder.Query<POCO from step#2>().ToView("Name of the view");