我正在尝试使用包含复杂类型的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; }
}
这可能吗?如果是这样,你如何映射这个,这是一个反模式?我没有在网上找到任何关于这样做的资源,这让我相信有些东西我不知道。
答案 0 :(得分:3)
这是可能的,我的团队经常这样做。这在某种程度上取决于你的持久性设置。
如果您使用的是RavenDB,它应该可以正常工作。我们甚至更进一步,将有一个List(Of ComplexType)和RavenDB存储它没有问题。
如果你正在做NHibernate,你可能需要做一些额外的映射来使这个工作,因为NHibernate本身对如何序列化和保存对象有一些限制/约定(我不像我们一直使用的那样熟悉NHibernate RavenDB用于我们的传奇持久性。)