是否可以从实体对象中获取集合(Dictionary)?我需要这个,以便将对象的部分属性传递给需要IDictionary的函数.
使用:
Context.EntitySetName.AsEnumerable().ToDictionary(o => o.Key, o => o.Value);
一些细节:
LINQ to Entities不支持ToDictionary.这意味着包含ToDictionary的LINQ查询字符串将编译,但不会执行,因为实体框架不知道如何将它们转换为SQL.因此,您必须首先在数据库服务器上执行查询.因此,您必须首先将您的集合投影到列表中,该列表枚举实体集.AsEnumerable会做到这一点.显然,如果实体集很大,你可能不想对整个事情做这件事.使用Where调用或LINQ查询将结果集首先减少为字典中所需的项目.