0

我有以下可以编译的 Linq-to-SQL 代码,但为什么变量products 没有被填充?

NorthwindDataContext ndc= new NorthwindDataContext();

var countries= new []{"Uk", "France" ," Germany"};

var productCountries =  from product in ndc.Products
                        join supplier in ndc.Suppliers 
                            on product.SupplierID equals supplier.SupplierID
                        select new {Product=product, Country= supplier.Country};

var products = from productCountry in productCountries
               where countries.Contains(productCountry.Country)
               select productCountry.Product;

我认为这是因为我必须productCountries首先使用 foreach 获取,我尝试这样做,将我使用的查询结果插入到productCountries类型列表中Products,但这不起作用。

你能帮我找出我怎样才能被products填满吗?

4

1 回答 1

0

首先对于查询使用 SQL Profiler。

还有关于 countries.Contains(productCountry.Country) 似乎这不正确的查询。

我还没有运行它,但查看查询它看起来如此。您需要将 where 条件放在表的列上,但是您在数组列表中执行。

于 2012-11-12T08:50:07.513 回答