Я новичок в linq, и я пишу процесс, который, я считаю, можно улучшить.LINQ - выберите из db и сравните два списка
Чтобы сделать это простым:
Я получаю список объектов.
Я проверяю таблицу db, у объекта есть строка в базе данных.
Я возвращаю список объектов с дополнительным булевым существует/не существует.
У меня есть следующий простого POCO
public class Project
{
public Guid? Id {get; set;}
public string name {get; set;}
}
Уведомление не всегда у меня есть идентификатор, и для этого я должен пропустить этот объект.
(странно, но это только очень близко к моему требованию в RealLife)
Вот мой код - нуждаются в улучшении:
// Get List OF Project Guids
List<Project> ProjectList = GetProjects()
IEnumerable<Guid?> projectsIDs = from package in packages select package.Key;
List<Guid?> prjGuidsList = projectsIDs.ToList();
// Sends the list of Guids and return only the one that exists in the db
// will be implemented with select.. where.. in..
List<Guid?> dbProjects = FilterSharedVersions(prjGuidsList);
// create a new object that will contain the true false value
List<ProjectsToken> tokens = packages.Select(subject => new ProjectsToken
{
Id = subject.id
MetaKey = subject.Name,
exists = dbProjects.contains(subjecy.id)
}
).ToList();
return tokens;
yepp, Это хорошая записка. не связанный с linq, но важный. – Jeb
@rails: Я не вижу никаких вопросов, поэтому я старался изо всех сил, чтобы помочь вам :) –