2014-08-29 36 views
3

我遇到了一个问题,我用一个可变长度的消息数据字段向nServiceBus发送消息。 nServiceBus使用nHibernate创建一个名为PendingMentorEmailSagaData的类,名为修改nHibernate如何在nServiceBus中保存佐贺数据

[NServiceBus].[PendingMentorEmailSagaData] 

。然而,消息字段被设置为nvarchar(255),我正在寻找一种方法将其设置为nvarchar(MAX)。

我试过使用嵌入式hbm文件,但得到“persistent class PendingMentorEmailSagaData not found”错误。

这可能意味着我无法弄清楚设置文件的类是什么。

HBM的文件:

<?xml version="1.0" encoding="utf-8" ?> 

    <hibernate-mapping xmlns="urn:nhibernate-mapping-2.2"> 
     <class name="PendingMentorEmailSagaData"> 
     <id name="Id" /> 
     <property name="OriginalMessageId" /> 
     <property name="Originator" /> 
     <property name="PendingMentorEmailCommandId" /> 
     <property name="JobBoardCode" /> 
     </class> 
    </hibernate-mapping> 

PendingMentorEmailSagaData是传奇的数据类的名称。

+1

我的问题简单化你是如何覆盖nservicebus的nhibernate功能的,在它的exportschema中创建表的方式。我试过添加汇编和命名空间也没有运气。程序集是项目名称,命名空间是数据类的名称空间吗? – RandomUs1r 2014-08-30 15:03:07

回答

5
  1. 创建了传奇存在于同一个项目一个PendingMentorEmailSagaData.hbm.xml文件,如:
<?xml version="1.0" encoding="utf-8"?> 
    <hibernate-mapping xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:nhibernate-mapping-2.2"> 
     <class name="MY_NAMESPACE.PendingMentorEmailSagaData, MY_ASSEMBLY_NAME" table="PendingMentorEmailSagaData" dynamic-update="true" optimistic-lock="all"> 
     <id name="Id" type="Guid"> 
      <generator class="assigned" /> 
     </id> 
     <property name="Originator" /> 
     <property name="OriginalMessageId" /> 
     <property name="LargeText" type="StringClob" /> 
     </class> 
    </hibernate-mapping> 

2.选中该文件作为嵌入资源

+0

是有道理的,包括更多关于在哪里可以找到课程的信息应该修复它,但是我决定切换齿轮并使用fluentnhibernate方法,结果大约100x容易处理。 – RandomUs1r 2014-09-05 15:14:54

+0

@ RandomUs1r我想了解更多关于如何设法使用fluentnhibernate和NServiceBus? – 2014-09-07 23:36:30

+0

好吧,我们试图继承该类的classmap类型,以便如何根据nhibernate的功能读取hbm文件。然而,也没有得到这个工作,实施了一个解决方法,即消息数据不会保存到传奇中,而是在消息需要发送时调用。这仅仅是因为我只需要发送最新的消息,因此db中的数据是最新的,但下一次我遇到这个问题时,我会试着实现一个classmap或一个hbm文件,以便不做解决方法。 – RandomUs1r 2014-09-08 19:02:04

相关问题