Asp.net c#,无法创建类型为';System.Object';
无法创建“System.Object”类型的常量值。只有 在此上下文中支持基元类型或枚举类型Asp.net c#,无法创建类型为';System.Object';,c#,asp.net,linq,C#,Asp.net,Linq,无法创建“System.Object”类型的常量值。只有 在此上下文中支持基元类型或枚举类型 我遇到了上面的错误,我做错了什么?发生这种情况是因为LINQ提供程序无法将q.firstName+''+q.lastName表达式转换为SQL。解决方法是调用AsEnumerable()将数据放入内存,然后在内存中执行其余选择: var result = from q in memberDbSet select new { no = q.no, f
我遇到了上面的错误,我做错了什么?发生这种情况是因为LINQ提供程序无法将
q.firstName+''+q.lastName
表达式转换为SQL。解决方法是调用AsEnumerable()
将数据放入内存,然后在内存中执行其余选择:
var result = from q in memberDbSet
select new
{
no = q.no,
fullName = q.firstName + ' ' + q.lastName
};
请确保在
AsEnumerable()
之前将所有筛选都放入查询中,以避免向内存中读取超过需要的数据。发生这种情况的原因是LINQ提供程序无法将q.firstName+''+q.lastName
表达式转换为SQL。解决方法是调用AsEnumerable()
将数据放入内存,然后在内存中执行其余选择:
var result = from q in memberDbSet
select new
{
no = q.no,
fullName = q.firstName + ' ' + q.lastName
};
确保在
AsEnumerable()
之前将所有筛选都放入查询中,以避免在内存中读取超过需要的数据。您正在连接字符串和char
。显然,实体框架不喜欢这样。换成
var result = (from q in memberDbSet /* where clause goes here */)
.AsEnumerable()
. Select(q => new {
no = q.no,
fullName = q.firstName + ' ' + q.lastName
});
唯一的问题是,我早就料到了
无法创建“System.Char”类型的常量值
您正在连接字符串和
char
。显然,实体框架不喜欢这样。换成
var result = (from q in memberDbSet /* where clause goes here */)
.AsEnumerable()
. Select(q => new {
no = q.no,
fullName = q.firstName + ' ' + q.lastName
});
唯一的问题是,我早就料到了
无法创建“System.Char”类型的常量值
它是linq到实体??不是
System.Char
??什么是memberDbSet
?memberDbSet是iQueryEnable没有使用字符串代替char帮助吗?我很惊讶…它是linq到实体??而不是System.Char
??什么是memberDbSet
?memberDbSet是iQueryEnable没有使用字符串代替char帮助吗?我很惊讶…AsEnumerable
不是一个真正的解决方案,只是一个可以作为最后手段应用的解决方案。不过,我相信在这种情况下,根本问题是可以解决的。作为记录。AsEnumerable
并不是一个真正的解决方案,只是一个可以作为最后手段应用的解决方案。不过,我相信在这种情况下,根本问题是可以解决的。记录在案。