首页 > 代码库 > 指定类型的成员XX”不支持实体LINQ。只有初始化,成员单位,和实体导航性能的支持。
指定类型的成员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。只有初始化,成员单位,和实体导航性能的支持。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。