0

我有一个“字符串,DeviceInfo”字典,其中 DeviceInfo 是一个包含一些属性的类,如下所示:

    public string Name { get; set; }
    public string Id { get; set; }
    public bool Actioned { get; set; }

我需要使用 Linq to Entities 从表中选择设备详细信息,其中表中的 deviceId 存在于字典中的 DeviceInfo“名称”属性中。像下面这样的东西是我所追求的。不幸的是,我的代码不起作用。有人告诉我我要去哪里错了吗?

from t in _context.Devices where list.Select(x => x.Value.Name).Contains(t.DeviceId) select t
4

1 回答 1

1

使用字典中的 sList<string>变得简单:Name

var names = list.Select(x => x.Value.Name).ToList();

然后在您的 LINQ to Entities 查询中使用它:

from t in _context.Devices
where names.Contains(t.DeviceId)
select t

或者SqlFunctions.StringConvert如果你的DeviceIdis 和int

from t in _context.Devices
where names.Contains(SqlFunctions.StringConvert((double)t.DeviceId))
select t

它应该IN在 SQL 查询中生成语句。

于 2013-04-11T18:16:53.220 回答