2
我正在使用nHibernate來搜索不匹配的字符串。過濾比較可空字符串
的模式是這樣的:
PlayerGroup
有一個字段ExpectedPlaylistKey
Player
有一個字段LastReportedPlaylistKey
。其中一個
PlayerGroup
有很多Players
。
我想執行一個查詢來查找所有與該組預期播放列表不匹配的播放器。
我的代碼如下:
PlayerGroup playerGroupAlias = null;
Player playerAlias = null;
var query = this.Session.QueryOver<Player>(() => playerAlias)
.JoinAlias(() => playerAlias.PlayerGroup,() => playerGroupAlias)
.Where(
() => (playerGroupAlias.ExpectedPlaylistKey != playerAlias.CurrentlyReportedPlaylistKey)
);
我已經研究了生成的SQL,並且它使用這個where子句:
WHERE not (playergrou1_.ExpectedPlaylistKey = this_.CurrentlyReportedPlaylistKey)
不幸的是,如果這些值之一爲NULL,則此即使其他值不爲null,也會返回false。
我該如何解決我的nHibernate查詢,所以它處理的情況下,如果任何字符串是NULL?