1

我正在尝试使用包含复杂类型的 SagaData 创建一个 Saga。

例如:

public class MySagaData : IContainSagaData
{
    public virtual Guid Id { get; set; }
    public virtual string Originator { get; set; }
    public virtual string OriginalMessageId { get; set; }
    public ComplexType MyComplexType { get; set; }
}

这可能吗?如果是这样,你如何映射它,这是一个反模式吗?我没有在网上找到任何关于这样做的资源,这让我相信我缺少一些东西。

4

1 回答 1

4

这是可能的,我的团队经常这样做。这在某种程度上取决于您的持久性设置。

如果您使用的是 RavenDB,它应该可以正常工作。我们更进一步,将有一个 List(Of ComplexType),RavenDB 可以毫无问题地存储它。

如果你在做 NHibernate,你可能需要做一些额外的映射来完成这项工作,因为 NHibernate 本身对如何序列化和保存对象有一些限制/约定(我对 NHibernate 并不熟悉,因为我们总是使用 RavenDB 来实现我们的传奇持久性.)

于 2015-08-20T11:41:57.610 回答