問題タブ [asp.net-mvc-scaffolding]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
asp.net-mvc - MVCScaffoldingおよびAutoMapperマップされたViewModel
ビューごとにViewModelsを作成し、それらにAutoMapperマッピングを追加するMVCScaffolding用の足場テンプレートなどがあるかどうか誰かが知っていますか?すべてのビューに専用のViewModelが必要であり、そのプロセスを自動化できればよいという、JimmyBoggardsの推奨事項に従いたいと思います。
エンティティのすべてのフィールドをViewModelとして使用したとしても、それは良いスタートです。誰も同じようなことをしていない場合は、デフォルトでViewModelを作成しています。それで、誰かがそれをさらに進めたのだろうか?
asp.net-mvc-3 - MVC3/Razor Add Controller "Get-PrimaryKey" が主キーを見つけられない
既存のデータベースに基づいて Entity Framework モデルを作成しました。Entity Framework は ADO.NET DbContext Generator を使用しています。
最初のプロジェクトの DLL を使用する MVC3/Razor プロジェクトも作成しました。「追加 -> コントローラ」オプションをクリックして必要なフィールドに入力すると、厄介なエラーが発生します。
これを回避するには、Visual Studio によって生成された Groups.cs に移動し、「using System.ComponentModel.DataAnnotations;」を追加する必要があります。[Key] を Groups フィールドの宣言に追加します。ただし、これは生成されたコードです。Entity Framework Project を再コンパイルすると、変更内容はもちろん失われます。
だから - 私の質問は:
Visual Studio がキー フィールドが何であるかを理解できない原因となっている何か間違ったことをしているのですか、それともキーが何であるかを理解するのを妨げているスキャフォールディング コードの単なるバグですか。
これは、文字列ベースの主キーでのみ失敗することに注意してください。フィールドが整数として宣言されていた場合、すべてが完全に機能します。
問題のあるテーブルは次のとおりです。
私の環境は次のとおりです。
asp.net-mvc - NinjectおよびMVCスキャフォールディング
App_Start \ NinjectMVC3.csクラスにNinjectバインディングを作成するように、リポジトリ用のMVCScaffoldingT4テンプレートをカスタマイズしようとしています。
テンプレートを変更して、作成されるリポジトリをカスタマイズすることはできますが、テンプレートにコンテンツを別のファイルに追加させる方法について少し戸惑っています。
誰かが似たようなことをしましたか?また、リポジトリとそのインターフェイスを別々のファイルに分割すると便利だと思います。
ありがとう
asp.net-mvc-3 - MVC3 createoredit テンプレートが null 許容の int フィールドで爆発するようになりました
プロジェクトをアップグレードした後、突然、生成された「_createoredit.cshtml」ファイルが次のように爆発します。
ディクショナリに渡されたモデル項目は null ですが、このディクショナリには 'System.Int32' 型の null 以外のモデル項目が必要です。説明: 現在の Web 要求の実行中に未処理の例外が発生しました。エラーの詳細とコード内のどこでエラーが発生したかについては、スタック トレースを確認してください。
例外の詳細: System.InvalidOperationException: ディクショナリに渡されたモデル アイテムは null ですが、このディクショナリには 'System.Int32' 型の null 以外のモデル アイテムが必要です。
ソース エラー:
参照するフィールドは、null 許容の int 型です。これは以前は機能していました (製品版はまだ正常に動作しています)。プロジェクトに加えた変更は、これが使用するものに影響を与えるべきではありませんでした。
更新 1- モデルからフィールド定義を追加
また、すべての null 許容値型で同じ問題が発生していることを確認しました。
c# - 足場とディスプレイ/EditorTemplates
次のモデルがあるとします。
パッケージマネージャーで次のコマンドを実行します。
いくつかのビューなどを生成するために...しかし、scaffolderは複雑な/非スカラーのデータ型を無視し、その結果、ほとんど役に立たないビューを生成するようです。
足場にもう少し賢くするように指示することは可能かどうか疑問に思います。これが私が起こりたいことです:
- スキャフォールダーは、共有フォルダーにエディター/ディスプレイテンプレートを作成します
EditorFor
これらのテンプレートを活用するために使用します
これを実現するためのすべてのコードは、scaffolderによって生成されたように見え_CreateOrEdit.cshtml
ますが、ビューに関連付けられたフォルダーに生成された「テンプレート」を使用して、私を驚かせる方法で構造化されています。私にとって、これは、scaffolderがモデルのビューを生成するより再帰的な方法に理想的に適していないコードを生成することを示唆しています。
私の期待は大きく外れていますか、それとも何かが足りませんか?
entity-framework-4.1 - MvcScaffoldingは、廃棄されない使い捨てリソースを作成します
EF4.1でMvcScaffoldingを使用すると、コントローラーの最初に生成された行は、通常、次のフィールド定義であることがわかります。
ここで、BarContext
は次のとおりです。
System.Data.Entity.DbContext
を実装していることを考えると、破棄を処理する可能性のあるメソッドIDisposable
に対して生成されたオーバーライドが見つからないことに驚いています。FooController
Dispose(bool)
context
これはテンプレートの見落としですか、それともこれを問題にしない何かが欠けていますか?
entity-framework-4.1 - Entity Framework 4.1 Database Firstは、DbContextT4で生成されたクラスに主キーを追加しません
Entity Framework 4.1を使い始めたばかりで、「データベースファースト」モードを試しています。EFが「ADO.NetDbContextGenerator」を使用してモデルクラスを生成する場合、[Key]属性を使用してクラスの主キーを識別すべきではありませんか?これがないと、T4MVCScaffoldingと互換性がないように見えます。
詳細は次のとおりです。
Entity Data Model Designer GUIを使用して、既存のデータベースからモデルに単純な「国」テーブルを追加しました。GUIは、「PK」という名前の単一の整数IDキーフィールドを主キーとして正しく識別します。(残念ながら、私は新しいユーザーなので、スクリーンショットを追加できません。代わりにCSDLを以下に含めました。)ただし、EFが「ADO.NetDbContext Generator」を使用してコードを生成する場合、PKは識別されません。生成されたクラスのキーフィールドとしてのフィールド(以下のコードの抜粋を参照)。
「国」テーブルのCSDL:
自動生成されたコードは次のとおりです。
これにより、MVCScaffoldingT4テンプレートを使用してコントローラーをスキャフォールディングしようとすると問題が発生します。「主キーのように見えるプロパティはありません」というエラーが表示されます。NuGetパッケージマネージャーコンソールからのコマンドと出力は次のとおりです。
ただし、生成されたクラスを手動で変更して[Key]属性をフィールドに追加すると、上記とまったく同じスキャフォールディングコマンドが正常に機能します。
では、なぜEFDatabaseFirstとT4MVCScaffoldingが一緒にうまく機能しないのでしょうか。そして、足場の問題がなくても、EFクラスはキーフィールドが何であるかを知る必要はありませんか?
c++ - MFC に T4 と Powershell を使用するコード ジェネレーターはありますか?
MVC Scaffolding に感銘を受けました。その制限は理解していますが、t4 と powershell を使用して繰り返しコーディングを自動化するのは素晴らしい試みだと思います。
MFC や C++ にそのようなものがあるのだろうか。カスタムテンプレートなどでMVC Scaffoldingを引き続き使用できると思います。しかし、車輪の再発明はしたくありません。それがこの質問につながりました。
asp.net-mvc - EFコードファースト:モデルタイプはリポジトリで複数形ではありません
State
モデルクラスがあります:
そして、私は作成しようとしていますRepository
:
生成されたファイルがあります:
の代わりにcontext.StateS
。
財産
DbContext
クラスに正常に追加されました。
オーバーライドされOnModelCreating
たメソッドはありません。
時々私はさまざまなプロジェクトでそのような問題に言及しますが、理由を見つけることができません。
asp.net-mvc-3 - T4 テンプレートの属性取得
MVCScaffolding で使用される T4 テンプレートをカスタマイズしようとしています。属性を持つプロパティを除外したいと思いNotMapped
ます。
私の問題は、属性コレクションが空のように見えることです。以下のような属性を印刷してみました:
これについて実際に機能する情報を見つけることができず、これまでのところ試行錯誤の非常に遅いケースです。属性を取得する正しい方法、またはマップされていない属性を無視するテンプレートを取得する正しい方法は何ですか?