問題タブ [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.
c# - この LinqToSql データを POCO オブジェクトに抽出するにはどうすればよいですか?
私のリポジトリ クラスでは、LinqToSql
リポジトリからデータを取得するために使用します (たとえば、私の例では Sql Server 2008)。結果データをPOCO
オブジェクトに配置します。よく働く :)
ここで、POCO
オブジェクトに子プロパティ (別のPOCO
オブジェクトまたは IList) がある場合、そのデータを設定する方法を見つけようとしています。これを行う方法がよくわかりません。
これが私が持っているサンプルコードです。私が設定している最後のプロパティに注意してください。コンパイルされますが、「正しく」ありません。それはPOCOオブジェクトインスタンスではありません..そして、その最後の行をコーディングする方法がわかりません。
ノート:
- Database.Files => ファイル テーブル。
- Database.FilesUserAccess => FilesUserAccess テーブル .. どのユーザーが GameFiles / Files テーブルにアクセスできるか。
アップデート
私は今、子の結果をそれぞれのPOCO
クラスに抽出するという提案を得ましたが、これはVisual Studio Debugger
クラスが言っていることです:-
なぜそれはSystem.Data.Linq.SqlClient.Implementation.ObjectMaterializer<..>
.Convert<Core.GameFile>
List<Core.GameFile>
を含むではなく、 POCO's
?
それが何であるか/私が間違ったことを何か提案はありますか?
更新 2:
これは、子データをそれぞれの poco に抽出するために私が行ったことです..
sql-server - テーブル継承の使用は、結合テーブルの使用を避ける有効な方法ですか?
このプロジェクトでは主に DDD の方法論に従ってきたので、他の DDD 担当者と同様に、最初にドメイン モデル クラスを作成しました。私の意図は、これらの POCO を LINQ-to-SQL エンティティとして使用することです (はい、純粋な POCO ではありませんが、それで問題ありません)。データベース スキーマと外部マッピング XML ファイルの作成を開始しましたが、エンティティの関係と関連付けをモデル化する際に問題が発生しています。
アーティファクトはドキュメントを表します。成果物は、タスクまたはケースのいずれかに関連付けることができます。Case エンティティは次のようになります。
Artifact は Case または Task のいずれかに関連付けることができるため、Artifact クラスで継承を使用して CaseArtifact および TaskArtifact 派生クラスを作成するオプションがあります。ただし、2 つのクラスの唯一の違いは、ケース フィールドまたはタスク フィールドの存在です。もちろん、データベースには、タイプ識別子フィールドと CaseId および TaskId フィールドを持つ 1 つのテーブル Artifact があります。
私の質問: これはこの問題を解決するための有効なアプローチですか、それとも関連付けごとに結合テーブル (合計 2 つの新しいテーブル) を作成するのがより良いアプローチでしょうか?
c# - NHibernate POCO / 基本
以前は L2S を使用していましたが、プロジェクトでシャープ アーキテクチャと共に NHib を使用することを検討しています。私はプロトタイピングを開始しましたが、グーグルで検索する方法がわからない最初の問題に遭遇しました。
いくつかの単純なプロパティと 1 つの参照プロパティ (カテゴリ - ここには示されていないクラス) を持つ POCO が与えられた場合:
これは、投稿の概要を表形式で作成したい場合に便利です。「Category」という名前の列が必要で、カテゴリのタイトルを表示したい場合は、単に Post.Category.Title を使用できます。
ただし、ユーザーは新しい投稿を作成します (ドロップダウン リストなどからカテゴリを選択します)。送信をクリックすると、Post オブジェクトが新しく作成されます。ただし、新しい投稿を永続化する前に、Category プロパティに割り当てるために、Category のインスタンスを (ID で) 取得する必要がありますか?
両方の長所を活かすには?Post POCO を更新して Category を int にすると、新しいインスタンスの作成が簡単になりました。しかし、ID を指定してカテゴリ名を解決する必要がある一部のレンダリング コードでは難しいでしょうか?
ここで基本的な概念が欠けていると思いますか?
Post テーブルに CategoryId という名前の整数の外部キー列があるスキーマが与えられた場合、Linq to Sql を使用すると、基になるテーブル列 (CategoryId) と、外部キー行を含む EntitySet の両方が生成されます。
NHibernateで同様のことを達成するにはどうすればよいですか? これは一般的にどのように管理されていますか?
ありがとう
entity-framework - EntityFrameworkEDM.BinaryマッピングからVBタイプへ
最新バージョンのEF4.0でPOCOを使用しており、楽観的同時実行性を処理するためにSQL Server2008dbにタイムスタンプフィールドがあります。
設計者は、エンティティタイプとしてBinaryを使用してフィールドのマッピングを作成しました。これは私のVBPOCOでEDM.Binaryが利用できないのでどのように表現する必要がありますか?フィールドをバイト配列として使用すると、次のエラーが発生します。
概念側のタイプ「SchoolModel.Course」のメンバー「RowVersionNr」のタイプ「Edm.Binary」が、オブジェクト側のタイプ「EFLibrary.Course」のメンバー「RowVersionNr」のタイプ「System.Byte」と一致しません。 。
.net - Pop3はC++実装に役立ちます!
さて、これは絶対に私を殺しています...誰かが私を助けることができれば、私は地球上で最も幸せな男になるでしょう...
そのため、学校でプロジェクト用のC ++電子メールクライアントを作成する必要があり、POCOオープンソースC ++ライブラリを使用しており、SSL認証を必要としない電子メールサーバーでの作業には問題がありません。 SSLが必要です、私は運がありませんでした...
POCOのドキュメントは次のとおりです:http://pocoproject.org/docs/
そこに行くときは、POCO:Netをクリックする必要があります。次に、左下のフレームに、さまざまなNETオブジェクトのドキュメントがたくさんあります...私は特にPOP3ClientSessionを使用しています。
OpenSSLをインストールし、SSLをサポートするライブラリをコンパイルしましたが、何も機能しないようです...このチュートリアルも実行しました:http: //pocoproject.org/wiki/index.php/NetSSL
誰かがPOCOの経験がある場合、またはSSL / C ++で1337である場合、これを機能させるのを手伝っていただければ幸いです。私はSSLを機能させるためだけに、過去12時間ずっとこれに取り組んできましたが、運が悪かったのです。
よくわからないことの1つは、SSLを使用して正しくコンパイルしたかどうかです...マシンにOpenSSHをインストールし、すべてを再コンパイルしました(1時間かかりました!!!)。私はすべてをコンパイルしたように見えましたが、次のincludeステートメントでそれを使用しようとしたとき:
ドキュメントに書かれていることですが、エラーが発生しました... NetSSL_OpenSSLというフォルダーにコンパイルされたので、ヘッダーとソースを取得して、Netフォルダーの適切な場所にコピーしました。あとがき私は別のエラーが発生しました:
しかし、私はX509Certificate.hファイルを持っています...ソースの暗号をネットに変更することさえしました(現在このファイルを保持しているネットフォルダーのため)、しかし私が期待するように、それは私の顔に爆発しました..。。
したがって、主な質問は次のようになると思います。
POP3ClientSessionで使用される標準のソケットの代わりにSSLソケットを使用してPOP3を使用して電子メールを送信するにはどうすればよいですか?
.net - Entity Framework v4 - POCO とコードのみの違いは何ですか?
私はその印象を受けています
- POCO を使用した EF: 独自の POCO をモデル (.edmx) のエンティティにマップできます。
- EF コードのみ: edmx/モデル デザイナーなし(つまり、CSDL/SSDL/MSL (まとめて EDMX) メタデータ)。まだ POCO ですが、マッピング、関係、ナビゲーションなどはすべて手動でコーディングされています (したがって、コードのみの説明)。
この 2 つの概念の説明が (多かれ少なかれ) 正しい場合、誰かが POCO で EF の代わりにコードのみを行う必要があるのはなぜですか?
両方とも POCO を実行していますが、2 つ目は手動でマッピングを行う必要があるという余分な負担がありますか?
.net - C++ の独自のプロジェクトに外部ライブラリをどのように含めますか?
だから私はC++にまったく慣れていないので、基本的にクラスのすべての学期をコーディングしています。最終的なプロジェクトでは、.NET を使用して C++ で電子メール クライアントを作成し、すべての電子メールの送受信を行うために、POCO 電子メール クライアントを使用しました。
さて、基本的に POCO ライブラリを使用するために、私はそれをコンパイルし、(デスクトップ上で) コンパイルした場所へのパスを使用してプロジェクトにインクルードとライブラリを追加するなど、多くのことを行いました。 Windowsパスへのパスも追加する必要がありました。
SO、私の質問は、POCO ライブラリを自分のプロジェクトにパッケージ化できるようにしたい場合、どうすればそれができるのでしょうか? これに関するチュートリアルはどこにも見つかりません。助けていただければ幸いです。
ありがとう!:)
.net - 遅延読み込みを使用した POCO オブジェクト
ASP.NET MVC、IoC、POCO などは初めてなので、そのようなアーキテクチャを使用しても問題ないか知りたいです。
これは私のデモ プロジェクトです。
Project.Core (このアセンブリはすべてのプロジェクトによって参照されます)
良さそうに見えますが、この方法で遅延読み込みを使用するにはどうすればよいですか? Userを取得するたびにUserGroupsを取得したくありません。
私の考えは、Userクラスを次のように変更することです。
私のソリューションの欠点は何ですか? 私の POCO オブジェクトがIUserGroupServiceインスタンスを使用するのが好きではありません。
.net - .Net と別の外部ライブラリを使用してプロジェクト用の単一の EXE ファイルを作成する
単一の EXE として実行する必要があるクラス用に作成された電子メール クライアントがあります。これは、C++ .NET と、大量の DLL ファイルを含む外部 POCO ライブラリで作成されています... これを実現する最善の方法は何でしょうか?
同様の質問をいくつか見ていて、ILMergeや Ezirez などのツールを推奨する人もいましたが、質問は .NET 用の単一の EXE ファイルを作成することだけを求めていましたが、.NET とサードパーティの外部 POCO ライブラリの両方に使用したい.
entity-framework - Entity Framework 4 の POCO エンティティを使用した階層継承ごとのテーブル
私たちの組織は、v4 がリリースされたら、Entity Framework での標準化を目指しています。その結果、永続化のために NHibernate を使用するアプリケーションを、POCO サポートを使用して EF4 に移行するには何が必要かを検討しています。いくつかの場所では、単一テーブルの継承 (Table Per Hierarchy とも呼ばれます) を使用しています。以下を使用して動作させることができませんでした。
Payment (基本クラス [抽象的である必要がありますが、そこにも問題があります]) CreditCardPayment (具体的な実装) ACHPayment (具体的な実装) CheckPayment (具体的な実装)
現在、基本クラスのプロパティのみを使用してそれらをマッピングしています。これらのクラスはすべて同じネームスペースにあります。データベースには PaymentTypeId と呼ばれる識別子があるため、Payment マッピングには「When PaymentTypeId = 0」という条件があります。各サブクラスには、異なる値を持つ同じ条件があります (つまり、CreditCardPayment = 1 など)。
DataContext.Payments.ToList() (DataContext は ObjectContext から継承) を使用してすべての支払いのリストをそれぞれ読み込もうとすると、次の例外が発生します。
「ID 'DataLayer.DataModel.CreditCardPayment' のタイプのオブジェクト マッピングが見つかりませんでした。」
POCO CreditCardPayment クラスは POCO Payment クラスと同じ名前空間 (実際には同じファイル) に存在するため、これが何を意味するのかわかりません。
私は何が欠けていますか?