1
我使用NHibernate 3.1與SQL CE 4(使用MsSqlCe40Dialect)。使用Linq來產生查詢。NHibernate/Linq使用SQL CE創建無效SQL
如果我使用String.Contains,String.StartsWith或String.EndsWith,則會生成無效的SQL。
例如:
Session.Query<User>.Where(user => user.Name.Contains("Joe"))
產生這樣的SQL:
SELECT Name FROM User WHERE (User.Name like ('%'||@p0||'%'))
這在一定程度上從生產實際的SQL簡化,但問題是在額外'||...||'
我期待這是SQL CE方言的一個問題,但我不確定該從哪裏去。修復/解決方法的任何想法?
您可以在此特定情況下使用HQL嗎? –
這實際上是一個更大的查詢的一部分。如果可能的話,我想保留Linq。你知道有什麼方法將Linq與HQL或標準結合起來嗎? – andypaxo
使用HQL編寫整個事物? – Baz1nga