問題タブ [irepository]

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 投票する
3 に答える
3897 参照

domain-driven-design - 私たちは皆、同じIRepositoryを探していますか?

私は、さまざまなデータストアに対して機能する汎用リポジトリを作成する方法を考え出そうとしてきました。

それぞれの同じPOCOドメインクラスに対して作業したいと思います。同様のアプローチも検討しています。各ドメインクラスには独自のリポジトリがあります。

私の質問:1)最初のアプローチは実行可能ですか?2)2番目のアプローチに利点はありますか?

0 投票する
2 に答える
802 参照

nhibernate - エクスプレッションの使い方NHibernateで?

Rob Conery Crazy Talk の非常に優れたブログ記事を読みました: Reducing ORM Friction
How can I generalize this interface so I can implement it with NHibernate?

Expression<Func<T, bool>>NHibernate で式を使用したい。どんな手掛かり?

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

asp.net - 返されるオブジェクトに関する IRepository の混乱

注文をデータベースに保存するために Linq To SQL を使用する、よく使用する電子商取引コードがあります。密結合された Linq to SQL ビットを削除し、代わりに IRepository を渡したいのですが、まだ少し混乱しています。

Customer オブジェクトを返す ICustomerRepository に GetCustomer() メソッドがあるとします。

そのメソッドから返される ICustomer オブジェクトを実際に返す必要があるので、Linq から SQL に切り替えて SubSonic と言っても問題ありませんか?

その場合、Linq To SQL で、Linq To SQL Customer オブジェクトを SubSonics ExecuteSingle(Of ) メソッドのような ICustomer オブジェクトに簡単に変換する方法はありますか?

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

unit-testing - Moq と Linq-to-Sql の CRUD 単体テストの書き方

私は Moq と単体テストに参加したばかりなので、これが明らかな場合はご容赦ください (SO をすばやく検索しても、このようなものは表示されませんでした)。

私は次の提案されたメンバーとのインターフェースを持っています:

この機能の単体テストを書きたいと思います。テスト クラスには、次のように宣言された Moq リポジトリがあります。

この新しい望ましい動作を含めるには、モック リポジトリの宣言をどのように変更する必要があるか、または別の Moq を作成する必要があります (どのようにそれを行うか)。

モックを作成した後は、単体テストの導出がはるかに簡単になると思いますが、ヒントは大歓迎です。

どうもありがとう、

ケブドッグ

0 投票する
2 に答える
735 参照

immutability - リポジトリと不変オブジェクト?

私はインピーダンスの不一致によって運命づけられているかもしれませんが、IRepository と不変オブジェクトで見た例を調整しようとしています。

私は、何百もの Web リクエストが製品の「ワーキング セット」で動作するカタログ作成アプリケーションに取り組んでいます。カタログ全体のサブセットが常に使用される傾向があります。

同時に、当社のデータ チームは常に製品データを更新しています (新しい画像、更新された価格、説明など)。

パフォーマンスのためには、製品を不変と考えたほうがよいように思えます。それらはリポジトリによってロードおよびキャッシュされ、多くのスレッドが同じ製品オブジェクトに同時にアクセスできます。

しかし、この考えは、私が Update/Delete メソッドで見た IRepository の例の多くで壊れているようです。

そこで私は、エンティティへの変更がコンパニオン 'editor' オブジェクトを介して行われ、変更を保持し、問題の製品を強制的にリロードして全員が使用できるようにする 'editor' モデルを想定しました。製品が変更されることはありません。外部から「編集」されて再ロードされるだけです。

これは意味がありますか?説明されているように、これはリポジトリで機能しますか?

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

join - サブソニックで IRepositories が参加

こんにちは、この疑問に悩まされています:
2 つの IRepositories に参加するにはどうすればよいですか? 私のコントローラーを見てください...

これらの IRepositories に参加して、Colaborador から「Ativo」を取得し、Usuario から「Nome」を取得して、baseid パラメータを使用して Colaborador の Where を作成する必要があります...

どうやってやるの???お願いします :)

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

c# - IRepository の具体的な意味vsモックで単体テストをしない場合のリポジトリ

私はこれを持っています:

今、すべてのエンティティに対して、一般的な IRepository を実装する具体的なクラスを作成します =>

私のViewModelのコンストラクター(mvvmパターン)でこれを行います=>

とにかくすべてのエンティティ クラスで CRUD 操作のコードを書かなければならない場合、IRepository にはどのような利点がありますか?

Customer、Product、Pupil ではIRepository<Product>IRepository<Customer>IRepository<Pupil>などを実装するクラスに関係なく、インターフェイスのメソッドを実装します。

なぜ言えなかったのか =>

小さなアプリの単体テストを書く可能性は気にしません。

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

c# - コントローラからIRepositoryクラスをインスタンス化する正しい方法は何ですか?

私は次のプロジェクトレイアウトを持っています:

ICustomerRepository repository = new CustomerRepository();コントローラーがDALプロジェクトを認識できない場合の正しい言い方は何ですか?それとも私はこれを完全に間違っていますか?

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

c# - IRepositoryを正しく使用していますか?

小さなプロジェクトでIRepositoryパターン(重要な場合はNHibernateに裏打ちされたもの)を使用したいと考えています。ドメインは単純なものであり、意図的にIRepositoryパターンの理解に集中できるようになっています。唯一のドメインクラスは、、、、およびMovieのプロパティを持ちYearます。私の意図は、プロパティが前述のタイプの基準に一致する映画を「取得」することです。GenreTitle

規則はIRepository、次のような一般的なインターフェイスを備えているようです。

基本実装の場合:

次に、ドメイン固有のインターフェースを作成します。

Repository基本クラスも拡張する実装では、次のようになります。

NHibernateを使用して、基本クラスと具象クラスに必要な実装を追加する必要がありますが、この設定で正しい方向に進んでいるかどうかを知りたいと思います。

複数のドメインクラスが関係している場合は目立たなくなりますが、1つのドメインクラスだけでかなりのオーバーヘッドがあるようです。今、私はそれをシンプルに保とうとしているので、コンセプトを突き止めることができます。

0 投票する
2 に答える
1880 参照

.net - System.Data.Linq.DataContext に相当する Oracle は何ですか?

Oracle データベースに対して IRepository インターフェイスを実装しています。

Save メソッドはどのように実装すればよいですか? Linq2Sql を使用していた場合は、データベース コンテキストを作成し、データベース コンテキストで SubmitChanges を呼び出します。Oracle バックエンドで同じ機能を実装するにはどうすればよいですか?

ありがとう!