指定类型的成员XX”不支持实体LINQ。只有初始化,成员单位,和实体导航性能的支持。
Posted 洛阳之晨,譬如临安初雨
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了指定类型的成员XX”不支持实体LINQ。只有初始化,成员单位,和实体导航性能的支持。相关的知识,希望对你有一定的参考价值。
The specified type member ‘DeleteFlag‘ is not supported in LINQ to Entities. Only initializers, entity members, and entity navigation properties are supported.
出现这个问题的原因是因为在linq中两个连接表创建的实体类需要吧其中的映射字段每一个都查出来,不然就会报这个错误,错误的写法如下
var querySql = from t in _observationResultRepository.Table join r in _observationRequestRepository.Table on t.ObservationUID equals r.ObservationUID select new RelatedLabResultInfo { ValueText=t.ValueText, ResultDate=r.ResultDate }; if (query.ClinicInfoType != null) { querySql = querySql.Where(u => u.ClinicInfoType == query.ClinicInfoType.Value.ToString()); }
这其中,tostringEF 不支持,需要写个中间变量赋值然后再放在EF中,
正确的写法:
var querySql = from t in _observationResultRepository.Table join r in _observationRequestRepository.Table on t.ObservationUID equals r.ObservationUID select new RelatedLabResultInfo { ValueText=t.ValueText, ResultDate=r.ResultDate, ClinicInfoType=r.ClinicInfoType }; if (query.ClinicInfoType != null) { ClinicInfoType = query.ClinicInfoType.Value.ToString(); } if (query.ClinicInfoType != null) { querySql = querySql.Where(u => u.ClinicInfoType == ClinicInfoType); }
以上是关于指定类型的成员XX”不支持实体LINQ。只有初始化,成员单位,和实体导航性能的支持。的主要内容,如果未能解决你的问题,请参考以下文章
LINQ to Entities 异常中不支持指定的类型成员“日期”
LINQ to Entities 不支持指定的类型成员“日期”。 DbFunctions.TruncateTime()
如何修复 ApplicationUserManager 中的“LINQ to Entities 中不支持指定的类型成员‘UserId’”