問題タブ [nerddinner]

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.

0 投票する
4 に答える
1634 参照

model-view-controller - シンプルなMVCNerdDinnersLambda

MicrosoftのMVCチュートリアルNerdDinnersからのこのコードでは:

パブリッククラスDinnerRepository{

}

何をしますか:

「d」はどういう意味ですか?このコードはどのように機能しますか?私はそれがdinneridが関数パラメーターからのidと一致する夕食を取り戻すことを知っています。「dgoesto...」の意味がわかりません。私はそれがラムダであることを知っていますが、私は実際にはそれを理解していません。「d」は何の意味ですか?それは何をするためのものか?

これはここにラムダなしで書かれている可能性がありますか(どのように)?

0 投票する
3 に答える
147 参照

asp.net-mvc - オタクディナーコントローラー

このページ:

http://nerddinnerbook.s3.amazonaws.com/Part4.htm

コントローラを追加した後、参照しhttp://localhost:xxxx/dinnersて期待どおりに動作します。私の質問は、「ディナー」を使用することをどのように知っているのですか?「夕食」はどこにありますか?私のコントローラーの名前はDinnersControllerですが、Dinnersという言葉はどのようにして意味のあるものになりましたか。LinqtoSQLやその他の場所には表示されません。私は明らかな何かを見落としていると確信しています。

コードは次のとおりです。

夕食");}

"+ id +" ");}

「夕食」はどこから来たのですか?

助けてくれてありがとう。

編集:私は投稿する前に記事をさらに読み、global.asaxについて見ましたが、これで夕食にどのようにマッピングされたかわかりません:

0 投票する
1 に答える
1072 参照

validation - オタクディナー検証ルールの質問

NerdDinnerチュートリアルのステップ5で、完全な編集アクションメソッドの実装の途中に次の段落があります。

Edit実装の良いところは、ControllerクラスもViewテンプレートも、Dinnerモデルによって適用される特定の検証またはビジネスルールについて何も知る必要がないことです。将来、モデルにルールを追加することができ、それらをサポートするためにコントローラーやビューにコードを変更する必要はありません。これにより、最小限のコード変更で、将来的にアプリケーション要件を簡単に進化させる柔軟性が得られます。

私の質問は、どのようなルールが追加される可能性があり、クリーンな分離を失わないようにするかです。私はこのコードを見ることができます:

このコードよりも優れています:

特定のクラス/モデル情報がなく、アプリケーション全体で使用できるためです。そして、私のエラー処理が上記のように単純である場合、それがどのように良いかはわかりますが、新しいビジネスルールにもっと複雑なものを追加する方法がわかりません。例を期待していました。

0 投票する
4 に答える
306688 参照

asp.net-mvc - NerdDinner の ASP.NET MVC で ModelState.IsValid が有効なのは何ですか?

Professional ASP.NET MVC 1.0NerdDinnerの例では、次のように新しいディナーを作成する方法があります (無料の NerdDinner バージョンの 89 ページ)。

そこで、ModelState.IsValid が true かどうかをチェックします。モデルがデータベースに対して有効かどうかをチェックしているようです (つまり、無効な形式の日付などのデータ型変換をキャッチしますが、ビジネス ルールはキャッチしません)。本当?

フォームを送信するときに、日付にエラーがある場合、ModelState.IsValid は false になり、エラーが返されますが、AddRuleViolations が実行されなかったため、日付のみが返されます。ModelState.IsValid のチェックを完全に削除すると、(例外による) すべてのエラーが表示されます。これには、無効な日付のマークが含まれます。では、ModelState.IsValid のチェックが行われるのはなぜでしょうか。何か不足していますか?

0 投票する
3 に答える
481 参照

asp.net-mvc - ASP.NET MVC でルール違反の中でデータベースの検証を取得するにはどうすればよいですか?

NerdDinnerの例では、モデルのデータを検証する一連のビジネス ルールが記述されています。空の文字列のようなものがチェックされ、 modelObject.GetRuleViolations() を呼び出すことでそれらすべてを取得できます。しかし、データベースである検証の別のレイヤーがあります。たとえば、datetime フィールドは、DateTime オブジェクトに変換できる文字列のみを受け入れるデータベースへの検証のために残されます。

私が見る問題は、modelObject.GetRuleViolations() が datetime の違反を返さないことです。したがって、レコードの保存が正しく防止され、フォームが表示されてエラーが発生し、日時フィールドが強調表示されている場合でも、特定のエラー メッセージは表示されません。ビジネス ルールの検証エラーの中でデータベースの検証エラーを取得する方法はありますか?

0 投票する
5 に答える
3681 参照

asp.net-mvc - NerdDinnerASP.NETMVCアプリケーションにOpenidサポートを追加するためのチュートリアルのリクエスト

ASP.NET MVC NerdDinnerチュートリアルを使用して、ASP.NETMVCとOpenIdについて学習したいと思っています。

NerdDinnerの認証システムをOpenIdのみに置き換えたいと思います。最新のDotNetOpenAuthライブラリをダウンロードしましたが、すべてをまとめる方法がわかりません。誰かが簡単なステップバイステップのチュートリアルを手伝ってもらえますか?

これはライブラリにドロップするのと同じくらい簡単ですか、それともアプリケーションに重要な変更が必要ですか?

0 投票する
5 に答える
1548 参照

asp.net-mvc - TDDとDDDでは、偽物の読み取り専用プロパティをどのように処理しますか?

質問

偽物を作成するときに読み取り専用フィールドをどのように処理しますか?

バックグラウンド

私はASP.NetMVCを使用する初心者の段階にあり、例としてStevenSandersonのSportsStoreとScottGuのNerdDinnerを使用しています。私が今直面した小さな問題の1つは、偽物を作成するときに読み取り専用プロパティをどのように操作するかです。LINQToSQLを使用しています。

私のインターフェースは:

そして私の偽物は

これが私の問題です。フィールドid、ssn、およびtotalDrWhoEpisodesWatchedは読み取り専用であるため、上記のコードは実際には機能しません。ただし、偽の新しい人物を作成して読み取り専用プロパティを設定する方法がわかりません。解決策があると確信していますが、検索ではまだ解決策に出くわしていません。

更新:潜在的な解決策としての継承+プロパティの非表示?

私はまだ問題のしっかりした解決策を決めていません。偽物を作成する目的でドメインクラスを変更するという概念は嫌いです。私にとって、テストを行うためにドメインクラスにマークアップを追加することは、追加された結合の形式です。つまり、テストの実装への結合です。現在、別の可能性を調査しています。これは、Personから継承するが、新しい読み取り/書き込みプロパティでプロパティを非表示にするFakePersonクラスを作成することです。

これまでのところ、この解決策は私が傾いている方法です。それはリスコフの置換原則を破ります、しかしそれはテストプロジェクトで私をそれほど悩ませません。解決策として、これに対する批判やフィードバックを聞いてうれしいです。

勝者:モックフレームワーク

Moqがその仕事をしているようです。継承によってプロパティを非表示にする最後のソリューションは実際には機能しますが、Moqを使用することで、より保守しやすい標準化された機能セットを取得できます。他のモックフレームワークにもこの機能があると思いますが、チェックしていません。Moqは、私が今間違いなく書いている、最初の模擬執筆にとってより簡単であると言われています。

0 投票する
3 に答える
896 参照

nerddinner - vs2008 で NerdDinner プロジェクトを開くことができません

NerdDinner.csproj は、.net 3.5 sp1 を使用する vs2008 sp1 では読み込まれません。私はこれらのツールなどについて最新の情報を持っていませんか? このプロジェクトの種類は、このインストールではサポートされていません。

0 投票する
1 に答える
92 参照

linq-to-sql - 生成されたエンティティ クラスを大規模なプロジェクトで使用する人はいますか?

NerdDinner の例では、リポジトリ パターンを使用してビジネスをデータ レイヤーから切り離しています。しかしその後、プロジェクト全体で使用されるエンティティ クラスとして、Linq to SQL で生成されたクラス (具体的にはディナー) を使用します。では、それは実際にどの程度分離されているのでしょうか? Linq-to-SQL を簡単に交換できるわけではありません。

私の最後のプロジェクトでは、生成されたlinqの部分を使用しても、クエリ時に追加する追加のフィールドにデータを入力できないことがわかったため、linqクエリで左/右に入力した別のエンティティクラスを作成しました。