Я хотел бы перевести заявление Linq с помощью выберите * из dbo.vwListDetails где ProductID = «20D9F725-6667-4F3A-893A-7D30FED550BE»LINQ оператор возврата дублировать запись
меня написать заявление Linq однако он возвращать неверные данные
с помощью SQL Постулаты над ним вернуться:
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
Это действительно не так. Я подозреваю, что у вас есть ошибка где-то еще. (В стороне, я бы написал весь ваш кусок метода как «return db.vwListDetails.Where (d => d.productid == new Guid (productid));' - или, возможно, построить 'Guid' в одном утверждении и затем используйте его в аналогичном. –
Почему вы используете это условие: 'd.productid == new Guid (productid)'? Это действительно странно. – MarcinJuraszek
Ваш вопрос в настоящее время вводит в заблуждение, так как ваш пример использует '20' в качестве продукта ID, в то время как ваш код C# использует GUID. Что это такое? –