我想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