Я впервые использовал LINQ to SQL в своем проекте и использовал следующий оператор:
var ProjectRouteEmails = EmailManagerDAL.Context.ProjectRouteEmails
.Where(p => p.ProjectID == ProjectID);
Это правильно вернуло три отдельных сообщения электронной почты из представления ProjectRouteEmails. Идентификаторы, возвращенные из таблицы электронных писем, были 117, 591 и 610.
Я перешел на LINQ to Entities и использовал то же представление и тот же оператор LINQ, но, хотя я получаю три записи, это первая запись, ID 117, который возвращается три раза.
Я пытался написать LINQ-статус следующим образом:
var ProjectRouteEmails = from p in EmailManagerDAL.Context.ProjectRouteEmails
where p.ProjectID == ProjectID
select p;
, но это не имело никакого значения; одна и та же запись возвращалась три раза.
Я вошел в SQL Server Management Studio и выполнил запрос:
select * from ProjectRouteEmails (nolock)
where ProjectID = 12
и вернулись три правильные уникальные записи.
Что здесь происходит?
Спасибо!