我正在从前端向我的后端服务传递一个对象(具有属性:'Key'和'Value'),如果给定值(obj.value)包含在特定列(obj.key)中,则必须查找该服务在特定的SQL Server数据库表中,返回转换为对象的所有匹配行的列表。
但是给定的代码并不适用于所有情况,因为大多数情况下它返回“未设置为对象实例的对象”错误。
agencies = _unitOfWork.RatingAgencyRepository.GetByType(p => p.GetType().GetProperty(filter.key)
.GetValue(p, null).ToString().ToLower().Contains(filter.value.ToLower().Trim())).ToList();
由于我对LINQ和EF并不熟悉,我一直在努力修复同事写的一整天没有任何结果。
提前致谢。
答案 0 :(得分:0)
以下之一为null。也许不止一个。
由于你的表达式在视觉上很难解析,在运行时异常的情况下甚至更难调试,我的建议是将过滤器重构为更合理的东西。
Kandydata