我想LINQ的声明使用 SELECT * FROM dbo.vwListDetails翻译那里的ProductID = '20D9F725-6667-4F3A-893A-7D30FED550BE'LINQ语句返回重复记录
我不过写LINQ的声明它使用SQL statment它上面返回返回不正确的数据
:
productid productname custmerid customername
20D9F725-6667-4F3A-893A-7D30FED550BE nike 1 andy
20D9F725-6667-4F3A-893A-7D30FED550BE nike 2 randy
public IEnumerable<vwListDetails > GetAllListDetailConsumer(Guid productid)
{
ObjectQuery<vwListDetails> cust = db.vwListDetails ;
IEnumerable<vwListDetails> query = from d in cust
where d.productid == productid
select d;
return query;
}
如果我使用LINQ C#代码以上使其返回
productid productname custmerid customer name
20D9F725-6667-4F3A-893A-7D30FED550BE nike 1 andy
20D9F725-6667-4F3A-893A-7D30FED550BE nike 1 andy
它真的不会。我怀疑你在其他地方有bug。 (另外,我会把你的整个方法体写成'return db.vwListDetails.Where(d => d.productid == new Guid(productid));' - 或者可能在一个语句中构造'Guid',然后在类似的使用它 – 2013-03-01 06:57:22
为什么你使用这个条件:'d.productid ==新Guid(productid)'?这真的很奇怪 – MarcinJuraszek 2013-03-01 06:58:17
你的问题目前是误导性的,因为你的例子使用'20'作为产品ID,而你的C#代码使用GUID,那是什么? – 2013-03-01 07:03:08