2012-12-03 48 views
2

我有一個類。該類按字符串類型有一個代碼列。 我有一個linq-to-NHibernte查詢選擇最多的代碼。如何選擇linq中的最大字符串爲nhibernate

var q = SessionInstance.Query<Card>() 
     .Max(x => x.Code); 

對於該列的示例數據爲:18950,9850和期望的結果是18950和結果是9850

我改變了這種查詢到它:

var q = SessionInstance.Query<Card>() 
     .Max(x => int.Parse(x.Code)); 

但上面的查詢具有此消息運行時異常:

Expression type 'NhMaxExpression' is not supported by this SelectClauseVisitor. 

爲什麼?

回答

1

NHibernate不知道如何將您的int.Parse調用轉換爲SQL。

最簡單的解決方案:使用SQL。

更復雜和/或有趣:擴展NHibernate LINQ提供程序以支持該調用。谷歌extending nhibernate linq的一些鏈接。

相關問題