誰かが私に.netコントローラーのサンプルコードと派生クラスのビューの方向を教えてください...
(あなたはたくさんのリソースがあるだろうと想像するかもしれません、私は何も見つけていません...)
プロジェクトでは、抽象クラスから派生したクラスがあり、EFは階層ごとのテーブルデータベースをマップし、実行時にDBは「UserTypeId」デシベルで期待どおりに表示されます。
私は最初のコンパイルと実行時のエラーを克服しました...
派生クラスに基づいてコントローラーをスキャフォールディングしようとしましたが、コントローラーActionResultに次のようなキャストが必要なようです。
Parent parent = db.AbstractPersons.OfType<Parent>().Single(p => p.AbstractPersonId == id);
さらに、インデックスビューにランタイムエラーがあるので、ビューを次のように更新しました
@model IList<BeyondThemes.BeyondAdmin.Models.CardCore.Parent>
その場合、モデルには正しくレンダリングするために必要なプロパティがありません。
膨大な数の人々がこれを解決したに違いないようですが、ContosoUの例(およびその他)はすべて、継承階層を作成した後、モデルのコントローラーとビューをスキャフォールディングする方法を説明していません。
また、EF6がインターフェイスを抽象クラスと同じように扱うかどうかを知りたいので、タイプごとのテーブル(さらには具象クラスごとのテーブル)の例を見ていただければ幸いです。
最新のエラーは
エラーはModel
、タイプのを渡しているがIList<Parent>
、モデルをコレクションではなく単一の要素として扱っていることを示しています。複数のアイテムを渡す予定の場合はforeach
、コレクションをループするステートメントを追加する必要があります。単一のアイテムが必要な場合は、モデル定義を変更して、単一のアイテムのみを取得する必要があります(そして、それをコントローラーからビューに渡します)。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加