LINQ to Objects Joignez deux collections pour définir des valeurs dans la première collection
J'ai le texte suivant Entity Framework requête:
var results = from r in db.Results
select r;
Je suis en utilisant AutoMapper de carte à un autre type:
var mapped = Mapper.Map<IEnumerable<Database.Result>, IEnumerable<Objects.Result>>(results);
Dans mes Objets.Type de résultat, j'ai une propriété appelée raison qui n'est pas venue de la base de données. Il est à venir à partir d'une autre source que j'ai besoin pour remplir de nouveau dans mon mapped type:
var reasons = new List<Reason>
{
new Reason { Id = 1, Reason = "asdf..." }
};
J'ai besoin de joindre les raisons avec mon mappé de collecte et de définir la propriété Raison dans mon mappé collection à l'aide de la valeur de mes raisons de la collection. Est-ce possible?
//need something like this:
mapped = from m in mapped
join r in reasons on m.Id equals r.Id
update m.Reason = r.Reason
select m;
Évidemment le code ci-dessus ne compile pas, mais est-il de code, je peux écrire que fait ce que je veux?
source d'informationauteur Dismissile
Vous devez vous connecter pour publier un commentaire.
Faire la mutation dans une boucle. De façon optimale, Linq doit être libre de mutations de la collection(s), il fonctionne sur. Utiliser Linq pour le filtre, l'ordre, le projet de vos données, l'utilisation des techniques traditionnelles de modifier.
Cela peut aider à économiser beaucoup de votre temps.
Code ci-dessous est pour Joindre deux collections et de définir la valeur de la propriété de la première collection.
Une force brute de la méthode:-
En fait, c'est la mise en œuvre est assez proche de votre pseudo-code.