問題タブ [sharp-architecture]
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.
.net - シャープなアーキテクチャとフロントサーバーからバックサーバーへの WCF NHibernate セッション
大規模なプロジェクトに着手しようとしています。Sharp Architecture を使用したいと考えています (NHibernate と MVC を使用する予定です)。
まず、外部プロバイダーに WCF サービスを提供し、次にこれらのバックエンド WCF サービスと通信する MVC サイトの構築を計画します。
ここでのアーキテクチャは、フロント エンド WCF サーバー (DMZ 内) サーバーがバック エンド WCF サーバー (次に DB サーバー) と通信する必要があることを示しています。Web サイトも DMZ 内の独自のサーバー上にあります。
シャープ アーキテクチャを使用してフロント サーバーに WCF サービスを公開し、NHibernate セッションを開始してデータをバック サーバーに渡すことはできますか?
その後、MVC サイトはバックエンド WCF サービスと通信できます (WcfOperationSessionContext を使用して????)。
WCF と Web サイトの両方でセッションを処理する方法を探しています。
これは可能ですか?それとも、DTO をバックエンド サーバーに渡し、そこで NHibernate を使用する必要がありますか?
どうもありがとう
c# - マルチスレッドコンソールアプリケーションでシャープアーキテクチャを使用してNHibernateをセットアップする方法は?
私はまだこれらのテクノロジーにかなり慣れていません。ここでの本当の問題は、コンソール アプリでスレッドごとにセッションを管理する方法です。現在、シングル スレッドとして実行すると、すべて問題ありません。マルチスレッド モデルに切り替えるとすぐに、セッション レベルで競合が発生し始めます (Session オブジェクトは設計上アドセーフではないため) KeyNotFound 例外 (とりわけ) がスローされ始めます。
Web アプリでは、次のようにします。
これは基本的に、global.asax のスレッド (Web 要求) ごとに 1 回初期化を実行します。
コンソール アプリでこれ (セッション管理) を設定する方法についてのアイデアはありますか?
asp.net-mvc - シャープ アーキテクチャでデータ注釈を使用する方法
最近、MVC2 と SharpArchitecture 1.6 にアップグレードしました。モデルはすべて Project.Core プロジェクトにあり、リソースは Project.Web プロジェクトにあります。Core でリソース ファイルを参照することはできません。循環依存関係が作成されるためです。
モデルでデータ注釈を使用したいのですが、メッセージをローカライズできるようにリソース ファイルにアクセスする方法はありますか?
nhibernate - NHibernate StatelessSessionを使用する場合、エンティティを更新し、子プロキシを無視します
StatelessSessionを使用してエンティティを一括更新しようとしています。
ステートレスであるため、NHibernateは保存時に子エンティティを自動カスケードしません。
子エンティティに変更を加えたくないので、これは問題ありません。
残念ながら、保存すると、NHibernateは次のように不平を言います。
"オブジェクトは保存されていない一時インスタンスを参照します-フラッシュする前に一時インスタンスを保存します。タイプ:MyAssembly.MyRandomEntity、エンティティ:Castle.Proxies.MyRandomEntityProxy"
もちろん、子エンティティを更新しようとすると、次のエラーが発生します。
「次の永続機能はありません:Castle.Proxies.MyRandomEntityProxy」
ご覧のとおり、子エンティティはロードされていないため、プロキシです。必要ない、更新したくない…でも、更新してもどうしたらいいのかわからない。
基本的に一時的な子エンティティを無視するように指示して、この問題を解決する方法はありますか?
アップデート
親オブジェクトの子エンティティのマッピングは次のとおりです。
子エンティティのId列は次のとおりです。
nhibernate - Sharp Architecture と Fluent NHibernate で基本クラスを無視する
シャープ アーキテクチャ 1.9 の使用
Sharp Arch Entity クラスから継承する基本クラスがあります。
次に、継承する 2 つのクラス:
私のデータベースには 2 つのテーブルがあります。BasketItems と OrderItems。
私の問題: Fluent NHibernate (AutoMapping) が LineItem をマップしようとしています。
私の質問: EntityWithTypedId プロパティを BasketItems および OrderItems テーブルにマップしたい場合、LineItem マッピングを無視するように NHibernate に指示するにはどうすればよいですか?
automapper - タグ作成に関する Fluent Automapper の問題
編集後 - 以下の編集を参照
SHarp アーキテクチャの一部として使用されている FLuent Automapping について質問があります。テスト ケースの 1 つを実行すると、DB にテーブルを作成するために使用できるスキーマが生成されます。
投稿と、これらの投稿に関連付けられたタグを含むサイトを開発しています。タグを複数の投稿に関連付け、各投稿に 0 個以上のタグを付けられるようにしたい。
次のDBスキーマを実現したい:
投稿 {Id, Title, SubmitTime, Content}
タグ {ID、名前}
PostTag {PostId, TagId}
代わりに、私は得ています:
投稿 {Id, Title, SubmitTime, Content}
タグ {ID、名前、PostID (FK)}
私はシャープなアーキテクチャを使用しており、クラスは次のようになります (多かれ少なかれ):
オブジェクトが別のオブジェクトの一部としてのみ存在できる場合があるため、DB スキーマの設定がなくなった理由がわかります。ただし、タグは個別に存在できます。
これを達成するにはどうすればよいですか?私は MVC、Nhibernate、SHarp アーキテクチャなどにまったく慣れていないので、どんな助けでも大歓迎です!
編集*
OK、クラスを少し調整しました。私の問題は、中間テーブルが推測されることを期待していたことです。代わりに、私はそれを作成する必要があることに気づきました。だから私は今持っています(読みやすくするためにクラスを少し単純化しました.:
これにより、中間エンティティのスキーマと、通常の Post および Tag テーブルが得られます。
上記の問題は、Tag の外部キーがまだ含まれていないことです。また、これはリレーショナル テーブルであるため、本当に ID 列が必要ですか? Post テーブルと Tag テーブルの両方の PK で構成される複合キーであるべきだと思います。
きっとTagクラスに追加することで
PostTag スキーマに別の FK を追加しますが、postList が巨大になる可能性があるため、上記を追加したくありません。投稿をシステムに持ち込むたびに必要というわけではありません。そのような情報を計算するための別のクエリが必要です。
この最後の部分を解決するのを手伝ってくれる人はいますか? 御時間ありがとうございます。
nhibernate - Nibernate.ISession SaveOrUpdate 内で正確に何が起こっているのか
私のプロジェクトでは、MVC、NHibernate、Sharp アーキテクチャを使用しています。
オブジェクト (エンティティ) を保存するたびにSaveOrUpdate
、子エンティティも更新されます。ただし、子エンティティを更新する代わりにDELETE-INSERT
、すべての子エンティティに対して実行されます。
どんな助けでも。
nhibernate - カスタム Fluent NHibernate マップが AutoMapping で機能しない
Fluent NHibernate AutoPersistenceModelGenerator に問題があります。カスタムマップを取得したくありません。
Sharp Architecture 2.0、Fluent NHibernate 1.2、NHibernate 3.1 を使用。
私の現在の関連する構成は次のとおりです。
構成にさまざまな変更を加えて、Fluent NHibernate に関するインターネット記事を流してみましたが、役に立ちませんでした。Sharp Arch 1.x を使用した作業バージョンと、以前のバージョンの NHibernate と Fluent があります。私が見逃している構文の変更があったと仮定しています。ありとあらゆる助けをいただければ幸いです。
ありがとうございました!ジョン
c# - シャープ アーキテクチャ タスク レイヤーのエラー: コマンド タイプのコマンド ハンドラが見つかりません
私は現在、シャープ アーキテクチャ 2.0 を使用しており、かなりうまくいっています。しかし、タスクレイヤーでのコマンドの実行に関する問題が発生しています。コマンドに関連付けられた次のクラスがあります。
CommandBaseを
実装するSaveOptionStep1CommandとICommandHandler< SaveOptionStep1Command >を実装するSaveOptionStep1CommandHandlerとCommandResultを実装するSaveOptionStep1CommandResult
コマンドを作成すると、次のエラーが発生し、問題の原因を特定できません。
エラー
コマンド タイプのコマンド ハンドラが見つかりません: EasyOptions.Tasks.Commands.SaveOptionStep1Command
説明:現在の Web 要求の実行中に未処理の例外が発生しました。エラーの詳細とコード内のどこでエラーが発生したかについては、スタック トレースを確認してください。
例外の詳細: SharpArch.Domain.Commands.CommandHandlerNotFoundException: コマンド タイプのコマンド ハンドラーが見つかりません: EasyOptions.Tasks.Commands.SaveOptionStep1Command
ここに私のコードの Github Gist があります: https://gist.github.com/1314136
.net - NHibernate インターセプターで現在のリクエスト コンテキストにアクセスする
私は SharpArchitecture で遊んでいて、インフラストラクチャ層で NHibernate 用の単純な AuditInterceptor を作成しようとしています。
今、私の問題は、インターセプター内から現在のリクエストの詳細にアクセスできるようにすることです。これには、現在のユーザーと、サーバーがアクティブな要求を受信した日時が含まれます。
ある種の UnitOfWork パターンを使用する必要がありますか? もしそうなら、UnitOfWork オブジェクトをインターセプター コードで利用できるようにする良い方法は何ですか?