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