1
我有以下LINQ查询NHibernate的LINQ 3.0甲骨文表达型10005不受此SelectClauseVisitor
QueryResult<List<PersonDemographic>> members = new QueryResult<List<PersonDemographic>>();
var query = (from ms in this.Session.Query<MemberSummary>()
where ms.NameSearch.StartsWith(firstName.ToUpper())
&& ms.NameSearch2.StartsWith(lastName.ToUpper())
select new PersonDemographic
{
FirstName = ms.FirstName.ToProperCase(),
LastName = ms.LastName.ToProperCase(),
PersonId = ms.Id,
Address = new Address
{
Line1 = ms.AddressLine1.ToProperCase(),
Line2 = ms.AddressLine2.ToProperCase(),
City = ms.City.ToProperCase(),
State = ms.State,
Zipcode = ms.Zipcode,
},
PhoneNumber = new PhoneNumber
{
Number = string.IsNullOrWhiteSpace(ms.PhoneNumber) ? null : Regex.Replace(ms.PhoneNumber, @"(\d{3})(\d{3})(\d{4})", "$1-$2-$3")
}
});
if (this.Session.Transaction.IsActive)
{
members.Data = query.Distinct().Take(15).ToList();
}
else
{
using (var transaction = this.Session.BeginTransaction())
{
members.Data = query.Distinct().Take(15).ToList();
transaction.Commit();
}
}
的代码项下之交易部分运行支持。如果我没有一个明显的使用它,我没有问题。将所述不同的给了我一个例外
{“表达式类型10005不受此SelectClauseVisitor支持。”}
我找不到任何明确的。谁能帮忙?
感谢, 保罗
迭戈,我没有想到任务会有什么影响,但嘿,你永远不会知道。所以我删除了你提到的任何东西,我仍然得到同样的错误。我忘记提及的一件事是,这个sis打了一个视图,而不是一张桌子。不知道这是否有所作为。 – 2011-04-12 12:40:35
我刚刚升级到NHibernate 3.1,现在的例外情况是这个SelectClauseVisitor不支持表达式类型'NhDistinctExpression'。 – 2011-04-12 13:41:25
@PaulSperanza:信息比较好,错误仍然是一样的:你试图混合客户端和服务器端操作。我建议你删除我提到的所有表情,然后重试。 – 2011-04-12 14:17:46