[英]Unable to create a constant value of type 'System.Object' in Entity Framework
[英]Asp.net c#, Unable to create a constant value of type 'System.Object'
var result = from q in memberDbSet
select new
{
no = q.no,
fullName = q.firstName + ' ' + q.lastName
};
无法创建类型为'System.Object'的常量值。 在此上下文中仅支持原始类型或枚举类型。
我遇到了错误,我在做什么错?
发生这种情况是因为LINQ提供程序无法将q.firstName + ' ' + q.lastName
表达式转换为SQL。 一种解决方法是调用AsEnumerable()
将数据带入内存,然后在此处进行其余选择:
var result = (from q in memberDbSet /* where clause goes here */)
.AsEnumerable()
. Select(q => new {
no = q.no,
fullName = q.firstName + ' ' + q.lastName
});
确保在AsEnumerable()
之前将所有过滤放入查询中,以避免将AsEnumerable()
数据读入内存。
您正在连接字符串和一个char
。 显然,实体框架不喜欢这样。 改成
fullName = q.firstName + " " + q.lastName
唯一的是,我本来期望
无法创建类型为'System.Char'的常量值
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.