問題タブ [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.

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

wcf - シャープ アーキテクチャを使用した WCF - 必要な型の依存関係を ServiceLocator で見つけることができませんでした

私は、wcf とシャープ アーキテクチャを使用するアプリケーションを使用しています。データベースに書き込むサービスを作成しようとしています。これが私のサービスです: (Sicaf.Core.Services.Wcf)

ComponentRegistrar.cs: (Sicaf.Core.Services.WebServices)

クライアントを作成しましたが、次の例外が発生します。

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

domain-driven-design - シャープ アーキテクチャ バリュー オブジェクト

Sharp Architecture のコードを調べています。これまでのところは問題ありませんが、フレームワークに DDD 値オブジェクトを実装する方法を理解するのに問題があります (コードでこれについて言及しているようには見えません)。基本エンティティ クラスとリポジトリ ベースはエンティティのみに使用されると想定しています。フレームワークに値オブジェクトを実装する方法についてのアイデアはありますか?

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

nhibernate - NHibernate ConventionModelMapper; IsRootEntityとIsEntityの違いは何ですか

私は、設定より規約を強調するSharp Architecture Liteで遊んでおり、NHibernateがどのように機能するかを理解しようとしていますConventionModelMapper。具体的には、以下のIsRootEntityメソッドとIsEntityメソッドの違いがわかりません(BTWEntityは、Sharp Archに付属する抽象クラスです)。

IsEntityこのメソッドは、どのクラスがDBへのマッピング/永続化に適格であるかをNHibernateに伝えるために使用されていることを収集します。しかし、私は一生の間、そのIsRootEntity方法が何をするのか理解できません。周りのドキュメントConventionModelMapperはひどくまばらです。

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

unit-testing - NHibernateテスト戦略:ルートごとまたはクラス/マッピングごとに1つのテストスイート

ほとんどの実際のアプリケーションはエンティティ間にかなり複雑な関係を持っていることを考えると、個々のクラスマッピングをテストすることに多くの価値がありますか?本当に価値があるように思われるので、NHibernateテストは、集約ルートレベル(つまり、Customer-> Order-> OrderDetails)から始めて、オブジェクトグラフ全体の取得、永続化、および削除を中心に展開する必要があります。しかし、その道を進むと、オブジェクトツリーの考えられるすべてのレベルでCRUD操作をテストして、「全体」が期待どおりに機能することを検証する必要があるようです。テストの爆発的な増加につながる:

  • 顧客を削除する
  • 注文を削除する
  • OrderItemを削除します
  • 顧客を挿入する
  • 注文を挿入
  • OrderItemを挿入します

ですから、私が何かを見逃していない限り、私はおそらくそうですが、私の選択は次のとおりです。

  1. クラス/マッピングごとに1つのフィクスチャスイートを作成します
    • 長所:CRUD操作の記述が簡単
    • 短所:集約ルート全体が正しく永続化されているという保証がないため、テスト値が減少します
  2. オブジェクトグラフごとに1つのフィクスチャスイートを記述します
    • 短所:テストシナリオの記述/展開が難しいテスト
    • 長所:アプリケーションの観点から永続性をテストするため、テストとしての価値が高くなります(つまり、統合/統合オブジェクトグラフに対してミューテーションをテストします)

関係がある場合は、NHibernate.Mapping.ByCodeConventionModelMapperを使用して、規則を使用してマッピングを生成しています。

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

nhibernate - Visual Studio .Net に表示される dll バージョンが、参照されている dll ファイル/製品バージョンを反映していない

NHibernate 3.3.2 および NHibernate 3.3.1 でコンパイルされた ShapArch.NHibernate 2.0.4.628 に依存するコンソール アプリ c# プロジェクトがあります (私の知る限り、間違っている可能性がありますが、2.0.4 を作成したときNuget 経由で NH 3.3.1 をダウンロードした SharpArch プロジェクト)。

参照されている dll が 3.3.2.4000 の場合、Visual Studio が NHibernate をバージョン 3.3.1.4000 として表示するのはなぜですか? 特定のバージョン プロパティは、すべての参照に対して false に設定されます。また、SharpArch のバージョンは、ファイル/製品バージョンである 2.0.4 ではなく、VS 2.0.0.0 に表示されます。

私が持っているアプリの設定で:

アプリの読み込みに失敗します:

シャープ アーキテクチャが 3.3.1 でコンパイルされているのに、なぜ 3.3.0.4000 をロードしようとするのかさえわかりません。

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

fluent-nhibernate - キャッスル ウィンザー IOC コンテナー内の現在の NHibernate セッションにアクセスする

実行中の Quartz.net ジョブ内から IOC を使用して現在の nhibernate セッションにアクセスしようとしていますが、次のように null として返されるたびに:

「NHibernateSession.Current」は、タイプ「SharpArch.Domain.PreconditionException」NHibernate.ISession SharpArch.Domain.PreconditionException} の例外をスローしました。ISessionStorage が構成されていません

これが私の現在のコード設定です。IScheduledMessageQueries クエリ内の NHibernate ISession が正しく設定されるように、IOC をセットアップする方法を一生理解できません。Quartz トリガーは正しく機能していますが、ISession にアクセスしてジョブ内からクエリを呼び出すことができません。ヘルプやアドバイスはありますか?

Global.cs コード:

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

servicestack - ServiceStackでSharpアーキテクチャを使用しようとしたときにTypeInitializationExceptionが発生しました

これはサービスです:

そして、これらはサービスモデルです:

これは、SharpArchitectureのEntityクラスを継承したInvoiceクラスです。(原因を特定しようとしている他のすべてのプロパティを削除しました。)http://code.google.com/p/sharp-architecture/source/browse/trunk/src/SharpArch/SharpArch.Core/DomainModel/Entity.cs

シリアル化された空のInvoiceDetailsResponseをブラウザに戻す必要があります。

私が得ているエラーはこれです。請求書が単純なPOCOであり、エンティティから派生していない場合は得られません。

--TypeInitializationException'ServiceStack.Text.Json.JsonWriterのタイプ初期化子1' threw an exception.</Message><StackTrace> at ServiceStack.Text.Json.JsonWriter1.WriteFn()at ServiceStack.Text.Json.JsonWriter.GetWriteFn(Type type)at ServiceStack.Text.JsonSerializer.SerializeToString(Object value、Type type)at ServiceStack.Text.JsonSerializer.SerializeToString [T](T value)at ServiceStack.WebHostのe:\ Desktop \ Dev Projects \ ServiceStack-master \ src \ ServiceStack.Common \ ServiceModel \ Serialization \ JsonDataContractSerializer.cs:line30のServiceStack.ServiceModel.Serialization.JsonDataContractSerializer.SerializeToString[T](T obj) Endpoints.Formats.HtmlFormat.SerializeToStream(IRequestContext requestContext、Object response、IHttpResponse httpRes)in e:\ Desktop \ Dev Projects \ ServiceStack-master \ src \ ServiceStack \ WebHost.Endpoints \ Formats \ HtmlFormat.cs:line 49 at ServiceStack.WebHost .Endpoints.Extensions.HttpResponseExtensions.WriteToResponse(IHttpResponse応答、オブジェクト結果、ResponseSerializerDelegate defaultAction、IRequestContext serializerCtx、Byte [] bodyPrefix、Byte [] bodySuffix)in e:\ Desktop \ Dev Projects \ ServiceStack-master \ src \ ServiceStack \ WebHost.Endpoints \ Extensions \ IHttpResponseExtensions.cs:line 190

代わりに、サービス用に別のクラスを作成し、マッパーを使用する必要がありますか?(そうするのは冗長なようです。)エンティティを直接使用できないのはなぜですか?

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

asp.net-mvc-4 - n 層データ取得の地域パラメーター

データベース結果クエリからの日付列出力を書式設定するために、ユーザーの地域設定を Web アプリケーション層で最適な場所にしようと考えています。

HttpContext.Request から地域設定を取得し、これを文字列としてビジネス レイヤーに渡し、ビジネス オブジェクト レイヤーで System.Globalisation を使用して DateTimeFormatInfo オブジェクトを作成します。

すなわち。DateTimeFormatInfo dtfi = CultureInfo.CreateSpecificCulture(cultureString).DateTimeFormat;

ビジネス レイヤーはデータ アクセス レイヤーからデータを取得し、LINQ クエリ セレクターを使用して、上記の dtfi オブジェクトで日付列をフォーマットできます。

ただし、言語文化を含む文字列をビジネス層に渡す必要があり、代わりにビジネス層から返されたデータを使用して別の匿名型をロードし、コントローラーに日付の書式を追加する必要があるかどうか疑問に思っています。

これにより、WPF アプリが実行中のスレッドのカルチャ情報をビジネス レイヤーの同じ呼び出しに渡す状況を回避できます。

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

asp.net-mvc - NHibernate は、ドメイン オブジェクトからビューモデルへのマッピングを担当する必要がありますか?

新しいプロジェクトを開始し、ORM に Fluent nHibernate を使用して SharpArchitecture を使用することにしました。(nHibernate や SharpArchitecture を使用したことがないので、何か不足している場合は優しくしてください)

私がやろうとしていることは、これが正しい方法であるかどうか、またはnHibernateマップで可能であるかどうかはわかりません私の見解。軽量モデルの理由は、このビューのクライアント エンティティにある余分な情報を取り戻したくないからです。

したがって、クライアント エンティティに加えて、いくつかのフィールドのみを持つ ClientModel エンティティを作成し、nHibernate を使用して 2 つを一緒にマップすることを考えました。

私はいくつかのことを試みましたが、それらはすべて惨めに失敗しました。

私の質問 - これは nHibernate を使用する必要があるものですか、それとも automapper のようなものを使用する必要がありますか? nHibernate のマップという単語を、意味しないものを意味すると仮定して混乱させていますか?

ここで私を助けてくれるnHibernateの専門家を探しています。

また、小さなサンプルも大歓迎です。

ここにいくつかのコードがあります。

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

entity-framework - CQRS は CRUD に代わるものですか?

CQRS と CRUD の違いは何ですか? どちらの場合でも UnitOfWork と Repository パターンを使用できますか?

エンティティ間に複雑な関係がある場合、あなたが私に勧めているエンティティとその理由を教えてください。

CQRS パターン: http://martinfowler.com/bliki/CQRS.html
CRUD : http://en.wikipedia.org/wiki/Create,_read,_update_and_delete

どんな助けでも大歓迎です。