0
在NHibernate中进行查询时,我总是收到异常。在NHibernate中执行内部联接
这是下面的查询:
//Query tblSentEmails to pull out all of the records according to that lngMergeID
strQuery =
"SELECT strEmailAddress, tblSentEmails.strSubject FROM tblSentEmails INNER JOIN tblRecipients ON tblSentEmails.strEmailSendID=tblRecipients.strEmailSendID WHERE tblSentEmails.lngMergeID ='" +
lngMergeID + "' ORDER BY strEmailAddress ASC";
这是执行它的线。
IQuery qryGetMergedEmails = _session.CreateSQLQuery(strQuery);
在此之后,我不断收到一个异常,指出存在识别错误。
这是原始查询:
SELECT strEmailAddress, tblSentEmails.strSubject
FROM tblSentEmails INNER JOIN tblRecipients
ON tblSentEmails.strEmailSendID=tblRecipients.strEmailSendID
WHERE tblSentEmails.lngMergeID='11099'
ORDER BY strEmailAddress ASC
注意lngMergeID =“11099”只是在这个例子中,我在通过参数传递。
我是否正确运行此查询?
编辑:这是我的映射:
public tblSentEmailsMap()
{
//Id(x => x.lngEmailID);
Id(x => x.strEmailSendID).Not.Nullable();
Map(x => x.dtmSent).Nullable();
Map(x => x.strSubject).Nullable();
Map(x => x.strBody).Nullable();
Map(x => x.strConversationID).Nullable();
Map(x => x.strConversationTopic).Nullable();
Map(x => x.strConversationIndex).Nullable();
Map(x => x.dtmReplied).Not.Nullable();
Map(x => x.dtmOpened).Not.Nullable();
Map(x => x.dtmClicked).Not.Nullable();
Map(x => x.UserId).Not.Nullable();
Map(x => x.blnTrackOpens).Nullable();
Map(x => x.blnTrackClicks).Nullable();
Map(x => x.blnTrackReplies).Nullable();
Map(x => x.blnOutlookRec).Nullable();
Map(x => x.lngMergeID).Nullable();
Map(x => x.strSenderEmailAddress).Not.Nullable();
}
无财产链接到我的收件人表。只需从电子邮件表中获取PK,并通过不同的查询处理器添加该PK。
忘了提及,tblRecipients的tblSentEmails中没有任何属性@Feras –
你如何映射你的类? @RahulKishore –
我已经解决了这个问题,但感谢您的意见。看到我发布的答案。 –