問題タブ [data-transfer-objects]

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

jax-rs - MessageBodyReader や MessageBodyWriter などの EntityProvider に ResourceInfo を注入することは可能ですか?

要件があります:

RESTful リソース メソッドごとに、OXM メタデータ ファイルのセットがあります。JAXBContext の作成中にこれらのファイルをロードする必要があります。そのため、リクエストごとの ResourceInfo を把握し、リソース メソッドの注釈からマッピングする必要があります。これにより、どの OXM メタデータ ファイルのセットをロードする必要があるかを示すことができます。

  1. ResourceInfo はリクエストごとですか?
  2. MessageBodyReaderやMessageBodyWriterなど、EntityProvider内のリクエストごとにメソッド(リソースメソッド)を取得することはできますか?
  3. JPA Entity と XML/JSON 間の OXM メタデータ、または TO と XML/JSON 間の OXM メタデータのどちらを好みますか? 私はサービスごとに TO がドメインクラスのビューをクライアントにカスタマイズできると仮定しているので。
0 投票する
2 に答える
1143 参照

c# - エンティティをデータ転送オブジェクトでラップする必要がありますか

ドメイン オブジェクトを保持する 4 つのプロパティを持つ SchoolyearEditRequest という名前のデータ転送オブジェクトがあります。

1) 私の DTO がドメイン エンティティをラップするのは間違っていますか?

2) はいの場合、すべてのドメイン エンティティに対して、クライアント側に本当に必要なプロパティのみを含む xxxDTO "ラッパー" を作成する必要がありますか?

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

c# - UI ロジックに応じてデータ転送オブジェクトを設計する

私はデータ転送オブジェクトを使用している状況にあり、私は物事を過度に設計または複雑化していると考え始めています...

私が正しいか間違っているかはわかりません。

EditSchoolyearDTO 内のすべてのプロパティは、クライアント側の UI で WeekType AB が選択されている場合にのみ必要です。

WeekType A のみが選択されている場合は、A プロパティで十分です。

AB ケースでは、SchoolWeekADTO と SchoolWeekBDTO を作成します。

DTO 構造をクライアントとサーバー間の json インターフェイスと見なすと、A または AB データが必要なときに DTO 構造が表現されません。これは私には気分が悪いです。

とりわけ、私のサーバー API は固定タイプであるため、ある時点で A-DTO を使用して投稿を送信し、別の時点で AB-DTO を送信することはできません。

あなたならどうしますか?

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

c# - DTO は、ビジネス オブジェクト内の列挙型を認識してはなりません

ビジネス オブジェクトに列挙型が定義されています。

ただし、この列挙型はデータ転送オブジェクトで定義されています。

dto 列挙型は、ビジネス オブジェクトの型ではありません。これは、それらが互いを認識する必要がないためです。

クライアントからこの dto を取得し、dto をビジネス オブジェクトにマップしてデータベースにデータを挿入すると、渡された dto.enum がデータベースに挿入された列挙値と同じ値を持つことを主張したいと思います。

それは私が得る私のエラーメッセージです:

実際には、値は同じですが型が異なります: dto.enum と businessobject.enum です。

では、両方のオブジェクトがそれを使用でき、両方のオブジェクトが互いに結合していない場合、この列挙型をどこで定義しますか?

アサーションが機能するように、ビジネス層と dto AND ビジネス オブジェクトで使用される列挙定義内に追加の c# クラスを配置することを考えました。

あなたならどうしますか?

0 投票する
0 に答える
113 参照

asp.net-web-api - IEnumerable を返す追加の Response ラッパー クラスで

私のサービスは DTO のコレクションを返す必要がありますか、それとも接尾辞 "Response" を持つクラスは私の dto コレクションをラップして返す必要がありますか?

あまりにも多くの異なるサンプルと、そのアプローチの利点について混乱しています。

ビジネス ロジックは少ないが UI ロジックは多い単一ページ アプリケーションを実行しているため、多くの DTO はなく、それを変更/拡張する理由もあまりありません。

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

asp.net-mvc - これは DRY の原則に違反していますか?

Item、ItemProductLine、および ProductLine の 3 つのドメイン モデルがあります。これらはそれぞれ、既存のデータベース テーブルにマップされます。ビューで使用するビューモデルもあります。

ドメイン モデル:

モデルを見る:

私の現在のクエリは次のとおりです。

現在、コントローラーにこのクエリがありますが、コードをリファクタリングしています。クエリ コードをデータ アクセス層のリポジトリ クラスに配置したいと考えています。私が読んだことから、そのレイヤーのビューモデルを参照するべきではありません。に変更select new ItemViewModel()するとselect new Item()、次のエラーが返されます。

エンティティまたは複合型 'proj.DAL.Item' は、LINQ to Entities クエリでは構築できません。

私が見た解決策は、データ転送オブジェクト (DTO) を作成して、ドメイン モデルからビュー モデルにデータを転送することです。

ただし、これを行うと、データのコピーが 3 つになります。別のデータベース フィールドを追加して表示する必要がある場合は、3 つのファイルを更新する必要があります。私は DRY の原則に違反していると思います。DTO とビュー モデルを使用する場合、DRY 原則に違反することは避けられませんか? そうでない場合は、これをリファクタリングして DRY コードにする方法の例を提供できますか?

0 投票する
0 に答える
418 参照

sql - スキーマ間での Oracle オブジェクトの移動 (単一性制約の制限)

実際にはOracle 10gで。これが役に立てば、12cに移行できます。

  • A_ADMINA2の2 つのスキーマがあります。
  • メインスキーマA2で、 A_ADMINテーブルを指すいくつかのシノニムが含まれています。
  • 参照されるA_ADMIN オブジェクトA2 スキーマに移動して、必要なスキーマが1 つだけになるようにします。
  • トリガー、パッケージ、インデックス、単一性制約があります...

開発環境と本番環境があることを考慮して、移行スクリプトを準備したいので、どのように進めるのが最善ですか?