我希望将内存中的实体与DB表中的数据匹配,并返回一个新的内存中DTO,其中包含匹配信息的子集。现在,匹配涉及两列,因此我正在动态构建一个新的键。这是可行的,只要我在构建键之前执行查询,就可以有效地使用Linq到对象进行匹配。
当不立即执行查询时,我会收到这个MSDN文章描述的运行时异常。
这是我的代码和数据模型,简化了。我有过
IEnumerable<Room>,已在内存中)IEnumerable<Room>,已在内存中)警报器与区域和LocationIds相连。房间可以有多个区域,并且有一个LocationId。
我想在一套房间里建一套警报器。这涉及到将警报区域和LocationsId与每个房间的LocationId和区域相匹配。
from area in allAreas
let alarmKey = area.AreaName + area.Room.LocationId //AreaName is String, LocationId is integer
//....但是,这一行涉及不支持的int到String格式。如何创建密钥?
发布于 2013-07-29 08:09:18
如果您不介意LocationId中的几个前导空格,您可以这样做
let alarmKey = area.AreaName +
SqlFunctions.StringConvert((double)area.Room.LocationId)SqlFunctions在System.Data.Objects.SqlClient。
https://stackoverflow.com/questions/17918597
复制相似问题