問題タブ [poco]

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 に答える
194 参照

asp.net-mvc - MS MVCとDDDを使用して、エンティティ、値オブジェクト、およびいくつかの追加フィールドを含むMVC ActionMethodパラメータークラスを定義する方法と場所は?

私はちょうど「ああ、ハァッ!」に行く寸前です。ドメイン駆動設計のコーディングに関しては。問題は、エンティティ、値オブジェクト、およびいくつかの追加フィールドを含むMVCActionMethodパラメータークラスをどこでどのように定義するかです。 エンティティクラスと値オブジェクトクラスは、私のリポジトリで定義されています。

私は:

  1. 他のクラスを実装するリポジトリにカスタムクラスを作成し(単一のクラスですべてのプロパティを取得するため)、追加のフィールドにさらにいくつかのプロパティを追加しますか?
  2. リポジトリにエンティティ/値オブジェクトのpocoクラスを作成し、コントローラークラスでこれらのオブジェクトを参照する複合クラスを作成してから、これをActionMethodパラメータータイプとして使用しますか?
  3. 他に何かありますか?

リクエストフォームには、いくつかの顧客クラスフィールド、郵送先住所、および彼らが私たちを見つけた方法などのいくつかのフォームの詳細が収集されます。内容は重要ではなく、複数のポコからの情報を保持しているだけです。

MVCは、投稿されたフォームのフィールドを、次のようにActionMethodパラメーターのPocoのプロパティと一致させることを知っています。

したがって、customer.firstNameは、投稿されたフォームのfirstNameに自動的にバインドされます。

私は次のものを持っています:

しかし、次のようなものが必要です。

何かご意見は?

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

.net - Entity Framework v4 でオブジェクトを保存しようとしています - どのように?

私はEntity Framework v4(VS2010 Beta 2に付属しています)+を使用しましPOCOた。データベースから poco にデータを完全にロードできます。

現在、単一の poco インスタンスがあり、EF4 を使用して DB に保存する方法がわかりません。誰か助けてくれませんか?POCOが「変更」されたことをEF4が知らないからだと思いますか?とにかく、ここに私が試していたコードがありますが、うまくいきません。(データベースへの挿入は行いますが、POCO を Identity 値で更新しません。)

(古き良きNorthwindデータベースに基づく...)

このコードは、Linq-To-Sql で行ったことに基づいています (これはうまく機能します!) 一般的なロジック フローは次のとおりです:-

  1. 既存のオブジェクトを取得します。存在しない場合は、新しいものを作成します。
  2. この既存または新規オブジェクトのすべてのプロパティを設定します。これにより、オブジェクトの状態が更新されます。変更されたものがある場合、オブジェクトは変更されます。それ以外の場合は新しいです。
  3. オブジェクトを保存します。

では、この概念を EF4 で繰り返すことはできますか?

乾杯 :)

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

.net - テーブルへのオブジェクトのサブソニック カスタム マッピング

私は Compact Framework 3.5 を使用していますが、暫定的に Subsonic 3.0 のカスタム ビルドを使用してデータ アクセスを行うことにしました。問題は、私がモデル ファーストの開発に慣れていることですが、DB スキーマを制御し続けることにも関心があります。したがって、ActiveRecord も Repository も私のニーズを満たしていないようです。既存の POCO モデルを使用して、それを既存のテーブルにマップしたいと考えています。私はNHibernateとEntity Frameworkを介してこれを行うことに慣れています。

調査の結果、カスタム QueryMapping を作成して、必要なカスタム マッピングを提供できる可能性があるようです。ただし、この道を歩み始める前に、これが行われている何らかの例を見たいと思います。私はウェブ上で何も見つけられないようで、Subsonic、モデルファースト、およびカスタムの Table-per-Type および Table-per-Hierarchy マッピングの経験について誰かが意見を与えることができるかどうか疑問に思います。

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

entity-framework - Entity Framework 4.0 POCO と多対多の問題

エンティティ ドメイン モデルのエンティティにマップする POCO ドメイン オブジェクトを作成しました。多対多の関係で作業する必要がある今まで、すべてがうまく機能していました。

3 つのテーブルがあるとします。
- ブログ - ブログ
タグ
- タグ

ブログとタグは、両方のテーブルへの外部キーを含むブリッジ テーブル、BlogTag を使用して多対多であることがわかります。

対応するドメイン モデルもあります:
- ブログ
-ブログ
タグ - タグ

ここで、ブログのリストを選択し、ブログから特定のタグにアクセスしようとしています。

myBlog.BlogsTags[0].Tag

BlogTags[0].TagForeignKey は入力されていますが、BlogTags[0].Tag はnullです!!

LazyLoading もオンにしています。

私は何が間違っているのでしょうか?

ありがとう。

わかった。ここにいくつかのソースコードがあります。

私のコンテキストクラス

私のpocoクラスには、関連するオブジェクトのリストと virtual キーワードがあります。

0 投票する
8 に答える
14776 参照

nhibernate - 「持続性無知」とは正確には何ですか?

永続性の無視は、通常、標準の .NET オブジェクト (または、本当に名前を付けることを主張する場合は POCO) を永続化および取得する機能として定義されます。そして、標準的な .NET オブジェクトの一見広く受け入れられている定義は次のとおりです。

「...インフラ関連の理由で何かを追加することなく、目の前のビジネス問題に集中する通常のクラス...」

ただし、NHibernate を持続性の無視を可能にするフレームワークとして説明している人々を目にしますが、それは標準の .NET オブジェクトでは動作せず、特定の設計要件に準拠する標準の .NET オブジェクトのみで動作するフレームワークです。たとえば ( source ):

  • すべてのクラスにはデフォルトのコンストラクターが必要です
  • クラスがアンシールされ、すべてのメンバーが仮想でない限り、一部の機能は動作しません
  • Equals/GetHashCode を悪用しない限り、オブジェクト ID は正しく機能しません

(余談: 誰かが動揺する前に、ここで NHibernate を選択するつもりはありません。これは、持続性の無視を許可すると思われるフレームワークのよく引用される例にすぎません。同様の議論が、同じことを主張する他の ORM に適用できると確信しています。 .)

クラス自体には永続化フレームワーク固有の属性や基本クラスなどはありませんが、選択した永続化フレームワークでの使用を容易にするために一連の設計ガイドラインに従う必要があるため、私にとっては実際には「永続化に無知」ではありません。永続化フレームワークの要件を念頭に置いて、クラスを設計および実装する必要があります。あなたがそれを知らない場合、クラスはそれで動作しない可能性があります。

[Serializable]「永続性の無視」/「POCO」の定義で問題を抱えているのは、概念的に、これがまたは[DataContract]または[XmlType]または他の永続性フレームワーク固有の注釈などの属性を追加することと実際にどのように異なるかがわからないことですそのフレームワークを使用してエンティティの永続化と取得を容易にします。

では、「持続性無知」とは一体何なのでしょうか?

明らかに、「通常のクラス」を永続化できるという定義は誤りです。なぜなら、NHibernate のクラスは、フレームワーク固有のクラスを参照しない限りは通常のクラスにすぎませんが、デフォルト コンストラクターなどの通常とは異なる設計の選択が必要なため、非常に優れているからです。 -可変型の仮想メンバーと Equals/GetHashCode の実装。

したがって、オブジェクトが持続性フレームワークの使用を (設計および構造において、またはフレームワーク固有の注釈の使用によって) 促進するが、それ自体は持続性ロジックを実行しない場合、「持続性無視」が真であると言うのは合理的ですか?

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

c++ - Pococapsule(C ++ IoC-container)で列挙型を使用する

ファクトリメソッドに頼らずに、pococapsuleのmethod-argsとして列挙値を提供する方法はありますか?

コンストラクターで列挙値をとるクラスがあるとしましょう

Pococapsule xml構成の使用:次のように表現したいと思います。

ただし、pococapsuleの基本タイプには、short、charなどの組み込みタイプしか含まれていないため、これは不可能です。
pococapsuleを使用してクラスAをインスタンス化するにはどうすればよいですか?

私は次のようなファクトリメソッドを使用することに頼ることができます:

これはあまり実用的ではありません。使用するすべての列挙型のすべての可能な値に対して、新しいファクトリメソッドを実装する必要があります。

enum:sは、クラスが多くのことを行っていることを示しているため、コンストラクターやセッターメソッドに渡すべきではないと主張する人もいます。はい私は同意する。ただし、このスタイルを使用するサードパーティのコードやC ++フレームワークはたくさんあるので、これを実行できるようにする必要があります。


編集:この問題はPococapsuleのディスカッションフォーラムで解決されました。この特定の場合の回避策は、ファクトリメソッドに目的のアクションを実行させることでした。xml-configファイルでenum-useを宣言するほど柔軟ではありませんが、プロジェクトを前進させました。助けてくれてありがとうKe。

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

c++ - 完全な C++ の「ゼロからの」フレームワーク

Ruby on Rails のように、完全なスケルトンを提供する C++ フレームワークはどれですか?

Poco C++でできると思いますが、他に選択肢はありますか?

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

c# - Entity Framework v4 -> POCO とエンティティに関するヘルプが必要

私は EF4 を使用しており、同じ POCOにマップしたいエンティティが 2 つあります。どうすればこれができるかわかりません。

エンティティ 1 → Foo (これはデータベース内のテーブル FOO を表します)
POCO → Foo

エンティティ 2 → FooView (これは db 内のビュー FooView を表します)
POCO → Foo

私は次のようなことをする必要があることを理解しています

しかし、これを試してみるとコンパイルされますが、次の例外で失敗します:

System.ArgumentException: System.ArgumentException: 指定されたエンティティ タイプ 'MyProject.Core.Foo' は、EntitySet 'FoosViews' のタイプ 'EntityFramework.SqlServerModel.FoosView' と一致しません。

助言がありますか?

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

entity-framework - EF4 POCO 1 対多のナビゲーション プロパティが null です

以下の例のように、VS2010、EF4 機能 CTP (最新リリース)、および POCO オブジェクトを使用しています。

簡潔にするために、context以下が EF4 のコンテキスト オブジェクトであると仮定します。エンティティ タイプとデータベースの間に dbml マッピングがあり、次のように問題なく使用できます。

この時点で、データベースには "Doug" という名前の Person レコードと、アカウント レコード "foo" があります。これらのレコードをクエリして取得できます。しかし、Person を保存する前にアカウントを追加しようとすると、Accounts リストは null になります (プロキシはそのプロパティのインスタンスをまだ作成していません)。次の例を参照してください。

他の誰かがこれに遭遇しましたか?さらに良いことに、誰かが良い解決策を見つけましたか?

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

entity-framework - EF4 POCO - ナビゲーション プロパティの更新

Recommendation オブジェクトと FeedbackLevel オブジェクトがあり、FeedbackLevel オブジェクトは Recommendation オブジェクト内のナビゲーション プロパティです

推奨 int EntityKey; FeedbackLevel レベル。

新しいオブジェクトの挿入は、AddObject() で問題なく機能します。これが私がアップデートで試していることですが、うまくいきません。

上記のコードは、基本的に私が持っているもののコンパクトなバージョンです。スカラー プロパティの更新は正常に機能しますが、avove コードが変更なしで成功するため、新しいナビゲーション プロパティを更新できません。

また、最初に既存の推奨事項を取得してから、FeedbackLevel をそれに再割り当てするなど、他のいくつかの方法も試しましたが、うまくいきませんでした。

アップデート:

保存呼び出し中に SQL プロファイラーからキャプチャしたものを次に示します。

FeedbackLevel を保存する必要があることさえ認識していないようです。どうすればそれをトリガーできますか?