問題タブ [t4scaffolding]
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.
visual-studio-2013 - Mvc5、EF6、VisualStudio 2013 のリポジトリを使用したスキャフォールディング コントローラー
vs2012 では、このパッケージで Steve Sanderson の mvcScaffolding Packageを使用していました。アクション メソッドを単体テストで足場し、コントローラーとリポジトリと依存性注入を足場にすることができました。私の質問は簡単です。vs2013でそうする方法はありますか? vs2013 にパッケージをインストールすると、次のエラーが表示されます。
visual-studio-2013 - Visual Studio 2013 スキャフォールディング エラーで EF6 を使用した MVC 4
EF6 で Visual Studio 2013 を使い始めたばかりで、MVC 4 でデモ アプリケーションを作成しました。コントローラーをスキャフォールディングしようとしましたが、エラーが発生し続けます。パッケージ マネージャー コンソールから MVCScaffolding をインストールし、T4Scaffolding、T4Scaffolding.Core を含むすべてを正しくインストールしましたが、このエラーが発生し続けます。私を助けてください
私が間違っていることを教えてください。どうもありがとう
entity-framework - LocalDB データベースはどこに保存されますか?
アプリを構築する際に複数のアプローチをテストしたかった (DB ファースト、モデル ファースト、コード ファースト)。T4Scaffolding を使用し、変更後の DB に多くの問題が発生した後、私は EF が十分に柔軟ではないと考えました。今、私は非常に奇妙なものを見つけました。Web.Config で指定された単一の 'DefaultConnection' を残して、ソリューションの App_Data フォルダー内の単一の .mdf ファイルを指しています。Code-First アプローチを使用して、エンティティ (クラス) を作成し、次にスキャフォールディング リポジトリ、コンテキストを作成しました。DB を「削除」して更新する前に保存されたデータを取得することを除いて、すべてがほぼ正常に機能しているようです。しかし、VS サーバー エクスプローラーでチェックした後、データベースには ID (ユーザー、ロール) に使用されるテーブルのみが含まれており、実際のデータベースは別の場所にあることがわかります。'C: にあると思われます。\Users{MyUser}\AppData\Local\Microsoft\Microsoft SQL Server Local DB\Instances'. しかし、既に使用されているため、そこから .mdf ファイルを開いて確認することはできません。ハマった。私のデータはどこにありますか???
アプリケーションに 2 つのコンテキストがあることを忘れていたため、PM コンソールに次のような警告が表示されます。「アセンブリで複数のコンテキスト タイプが見つかりました...」
ただし、最初は「ApplicationDbContext」であり、Identity DB のみを参照します。
2 番目のコンテキストは、Web.Config からの単一の DB 接続にバインドされ、ビジネス ロジック エンティティを持ちます。
asp.net-mvc - ASP.NET MVC 5 カスタム スキャフォールディング オプション [t4 テンプレート]
現在、私はフレームワークを開発しています。Visual Studio メニューにカスタム scaffolding オプションを追加したいと考えています。
デフォルトでは、ダイアログボックスの「エンティティフレームワークを使用したビュー付きのMVC5コントローラー」オプション3は、「CodeTemplates\MvcControllerWithContext\Controller.cs.t4」を選択し、t4は再び内部のビューt4テンプレートをターゲットにします
- "CodeTemplates\MvcView\ModelMetadataFunctions.cs.include.cs.t4"
- "CodeTemplates\MvcView\Create.cs.t4"
- "CodeTemplates\MvcView\Edit.cs.cs.t4"
- "CodeTemplates\MvcView\Delete.cs.cs.t4"
- "CodeTemplates\MvcView\List.cs.cs.t4"
私は t4 テンプレートをほぼ 1 年間変更してきましたが、それらのビューをどのようにターゲットにしているのか、または scaffolding ダイアログにオプションを追加する方法を示唆する証拠は 1 つも見つかりませんでした。私はたくさんグーグルで検索しましたが、近いものは見つかりませんでした。
要約すると、私はこれらの t4 テンプレートの場所を追加または変更し、足場ダイアログ ボックスで新しい足場の参照を追加できる場所を探しているだけです。
どんな答えでも大歓迎です。ありがとうございました。
entity-framework - EF の DatabaseGenerated 属性を考慮するカスタム MvcView スキャフォールドを作成する方法
はい、EF 6.x エンティティを ViewModel であるかのように使用しているプロジェクトがあります。AutoMap はありません。リスクを調査して理解しています。
私のデータベースには多くの自然キーがあります。私の Code First POCO には、次のようなプロパティがあります。
スキャフォールディング テンプレートの編集を試しています (私のプロジェクトは、SideWaffle VSIX を介して 'CodeTemplates' ディレクトリを備えています)。具体的には、MvcView/Edit.vb.t4 用に既定で生成されるカミソリに影響を与えようとしています。
キーはモデル バインダーに反映する重要な情報であるため、デフォルトのスキャフォールドは非表示の入力をレンダリングしますが、それが DatabaseGeneratedOption.None の場合、追加の可視ラベルをレンダリングして、ユーザーが「ProfileId」が何であるかをすぐに理解できるようにしたいと考えています。 '編集中です。
言い換えれば、デフォルトの足場は、ビューでは面白くない代理キーを想定していますが、私のキーは私のビューにとって興味深いものです。
これを実現する System.Web.Mvc 名前空間の一部である <HiddenInput(DisplayValue:=True)> DataAnnotation には興味がありません。今のところ、EF プロジェクトを MVC ライブラリから解放したいと考えています。
Microsoft.AspNet.Scaffolding.Core.Metadata.ModelMetadata の型である、渡された ModelMetadata パラメーターから、現在の MVC スキャフォールディングが PropertyMetadata の型を反復処理する方法を簡単に確認できます。
しかし、System.Data.Metadata.Edm 名前空間から派生すると思われるこの DatabaseGenerated 属性を取得するにはどうすればよいでしょうか?