问题标签 [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 - 具有 Sharp 架构的 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 约定模型映射器;IsRootEntity 和 IsEntity 有什么区别

我在玩 Sharp Architecture Lite,它强调约定优于配置,并试图了解 NHibernate是如何ConventionModelMapper工作的。具体来说,我无法区分下面的 IsRootEntity 和 IsEntity 方法(顺便说一句,Entity是 Sharp Arch 附带的抽象类):

我收集到该IsEntity方法用于告诉 NHibernate 哪些类有资格映射/持久化到数据库。但是,我一生都无法弄清楚该IsRootEntity方法的作用。周围的文档ConventionModelMapper非常稀少。

0 投票
1 回答
113 浏览

unit-testing - NHibernate testing strategy: one test suite per root or per class/mapping

Given that most real world applications have fairly complicated relationships between entities, is there much value in testing individual class mappings? It seems that to be truly valuable, NHibernate tests should revolve around retrieving, persisting and deleting entire object graphs, starting at the aggregate root level (i.e. Customer-->Order-->OrderDetails). But if I go down that road, it seems I would have to test CRUD operations at every conceivable level in the object tree to validate that the "whole" works as expected; leading to an explosion of tests:

  • Delete a Customer
  • Delete an Order
  • Delete an OrderItem
  • Insert a Customer
  • Insert an Order
  • Insert an OrderItem

So, unless I'm missing something, which I very likely am, my choices are:

  1. Write one fixture suite per class/mapping
    • Pros: Simpler to write CRUD operations
    • Cons: Diminished test value, as they provide no assurance that entire aggregate roots are being persisted correctly
  2. Write one fixture suite per object graph
    • Cons: Tests harder to write/explosion of test scenarios
    • Pros: Higher value as tests since they test persistence from the application's perspective (i.e. testing mutations against the unified/integrated object graph)

If at all relevant, I'm using the NHibernate.Mapping.ByCode ConventionModelMapper to generate mappings using conventions.

0 投票
1 回答
3027 浏览

nhibernate - Visual Studio .Net 中显示的 dll 版本不反映引用的 dll 文件/产品版本

我有一个控制台应用程序 c# 项目,它依赖于 NHibernate 3.3.2 和 ShapArch.NHibernate 2.0.4.628,它已经用 NHibernate 3.3.1 编译(据我所知 - 我可能错了,但是当我创建一个 2.0.4它通过 Nuget 下载了 NH 3.3.1 的 SharpArch 项目)。

为什么当引用的 dll 为 3.3.2.4000 时,Visual Studio 将 NHibernate 显示为版本 3.3.1.4000?对于所有引用,Specific Version 属性设置为 false。SharpArch 的版本出现在 VS 2.0.0.0 中,而不是文件/产品版本的 2.0.4。

在应用程序配置中,我有:

该应用程序无法加载:

我什至不确定为什么在使用 3.3.1 编译了清晰的架构时它会尝试加载 3.3.0.4000。

0 投票
0 回答
866 浏览

fluent-nhibernate - 在 Castle Windsor IOC 容器中访问当前 NHibernate 会话

我正在尝试使用 IOC 从正在运行的 Quartz.net 作业中访问我当前的休眠会话,并且每次它返回为 null 时都说明以下内容:

“NHibernateSession.Current”引发了“SharpArch.Domain.PreconditionException”NHibernate.ISession SharpArch.Domain.PreconditionException} 类型的异常。尚未配置 ISessionStorage

这是我当前的代码设置。我一生都无法弄清楚如何设置我的 IOC,以便正确设置我的 IScheduledMessageQueries 查询中的 NHibernate ISession。Quartz 触发器工作正常,我只是无法访问 ISession 以从 Job 中调用我的查询。任何帮助和/或建议?

Global.cs 代码:

0 投票
1 回答
1071 浏览

servicestack - 尝试将 Sharp Architecture 与 ServiceStack 一起使用时出现 TypeInitializationException

这是服务:

这些是服务模型:

这是 Invoice 类,继承自 Sharp Architecture 的 Entity 类。(我已经删除了所有其他属性,试图找出原因。)http://code.google.com/p/sharp-architecture/source/browse/trunk/src/SharpArch/SharpArch.Core/DomainModel/Entity.cs

我应该将序列化的空 InvoiceDetailsResponse 返回到浏览器。

我得到的错误是这个,如果 Invoice 是一个简单的 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.ServiceModel.Serialization.JsonDataContractSerializer.SerializeToString[T](T obj) 在 e:\Desktop\Dev Projects\ServiceStack-master\src\ServiceStack.Common\ServiceModel\Serialization\JsonDataContractSerializer.cs:ServiceStack.WebHost 的第 30 行。 Endpoints.Formats.HtmlFormat.SerializeToStream(IRequestContext requestContext, Object response, IHttpResponse httpRes) 在 e:\Desktop\Dev Projects\ServiceStack-master\src\ServiceStack\WebHost.Endpoints\Formats\HtmlFormat.cs: 第 49 行在 ServiceStack.WebHost .Endpoints.Extensions.HttpResponseExtensions.WriteToResponse(IHttpResponse 响应,对象结果,ResponseSerializerDelegate defaultAction, IRequestContext serializerCtx, Byte[] bodyPrefix, Byte[] bodySuffix) 在 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 对象。

IE。DateTimeFormatInfo dtfi = CultureInfo.CreateSpecificCulture(cultureString).DateTimeFormat;

业务层从数据访问层获取数据,并使用 LINQ 查询选择器,可以使用上面的 dtfi 对象格式化日期列。

但是我想知道我是否真的应该将带有语言文化的字符串传递给业务层,而是应该使用从业务层返回的数据加载另一个匿名类型,并在控制器中添加日期格式。

这将避免 WPF 应用程序将执行线程的文化信息传递给业务层中的同一调用的情况。

0 投票
2 回答
843 浏览

asp.net-mvc - NHibernate 是否应该负责从域对象映射到视图模型?

我已经开始了一个新项目,并决定将 SharpArchitecture 与 Fluent nHibernate 一起用于我的 ORM。(我以前从未使用过 nHibernate 或 SharpArchitecture,所以如果我遗漏了什么,请保持温和)

我正在尝试做的事情,我不确定这是否是正确的方法,或者是否可以使用 nHibernate 映射来获取一个域实体,比如说客户端并将其映射到一个更轻的 ClientModel 将用于我的观点。较轻模型的原因是我不想为该视图带回客户端实体中的额外信息。

所以我的想法是在我的客户端实体之外创建一个只有几个字段的 ClientModel 实体,并使用 nHibernate 将两者映射在一起。

我尝试了一些事情,但他们都惨遭失败。

我的问题 - 这是我应该使用 nHibernate 还是应该使用 automapper 之类的东西?我是否通过假设它不意味着它来混淆 nHibernate 中的单词映射?

在这里寻找一些 nHibernate 专家来帮助我。

小样本也将不胜感激。

这是一些代码。

0 投票
2 回答
3625 浏览

entity-framework - CQRS 是 CRUD 的替代品吗?

CQRS 和 CRUD 有什么不同,我可以在这两种情况下使用 UnitOfWork 和 Repository 模式吗?

如果我在您推荐我的实体之间存在复杂的关系,为什么?

CQRS 模式http ://martinfowler.com/bliki/CQRS.html
CRUDhttp ://en.wikipedia.org/wiki/Create,_read,_update_and_delete

任何帮助将不胜感激。