从foreach中的dbSet获取值

时间:2016-02-24 06:55:09

标签: c# entity-framework

我有以下声明。但我无法从查询中获取数据到我的foreach。我究竟做错了什么? 我知道声明本身有效,但我无法在我的预言中获得它的价值。

var products = db.Products.Select(x => x.Id).Where(x => x.Contains(zipcode.ToString()));
if (suppliers.Any())
{
    foreach (var p in products)
    {
    // found one
    // p.Id does not work?
    }
}   

1 个答案:

答案 0 :(得分:3)

因为您在这里.Select(x => x.Id)选择Id并且您不会迭代产品。你迭代typeof(Id)似乎是string

相反,你应该尝试

db.Products.Where(x => x.Id.Contains(zipcode.ToString()));