2

我有一个sysSettings具有一些属性的 EF 实体对象类。group并且name在这些属性中。

quer在下面的代码中是一个IQueryable<sysSettings>对象。

在尝试编写以下查询时,我在使用第二个 where 子句时遇到了困难。

var query = from setting in quer
    where (setting.name.Equals("Url") && setting.group.Equals("system"))
select setting;

似乎当我在名为 Entity 的对象上有一个属性时,group我无法从 LINQ 查询中访问该属性。

我认为这可能是因为group可能是 LINQ 中的保留/上下文工作/操作。

不幸的是,更改实体的属性名称不是一种选择。

4

2 回答 2

4

@符号添加到您的属性名称(仅用于查询,不要更改设置类定义):

var query = from setting in quer
            where (setting.name.Equals("Url") && setting.@group.Equals("system"))
            select setting;

此符号允许您使用保留字(即group)。

于 2012-11-02T18:16:33.450 回答
1

如果你用流利的语法写作怎么办?

var query = quer.Where(e => e.name.Equals("Url") &&
                            e.group.Equals("system"));
于 2012-11-02T18:07:35.017 回答