Linq Conversion De ICollection<T> Liste<T>

Je suis en utilisant Entity Framework Code First.

Je suis en utilisant le simple suivant catégories:

public class Users
{
    public ICollection<Projects> Projects{get;set;}
}

public class Projects
{
    public ICollection<Users> Users{get;set;}
}

Je suis à l'aide de linq pour l'extraction des données. Lors de l'exécution de la requête suivante: (à Noter que lstProjects est un List<Project>)

var lstUsers = (from users in lstProjects
                where users.ProjectId == pId
                select users.Users).ToList();

J'ai un List<Users> objet et souhaitez remplir cette Liste avec des éléments. Comme,

var lstUsersToDisplay = new List<Users>();
lstUsersToDisplay = (List<Users>)lstUsers; //This can't be cast.

Quelle est la démarche pour convertir ICollection<T> à List<T>?

Autre part, j'ai List<Users> et que vous voulez convertir en ICollection<Users> comment réaliser ceci?

Édité:
Le scénario, plus clairement, c'est que
Tous les Projects sont chargés dans lstProjects et nous avons besoin de sélectionner le Users qui ont été assignés à un projet spécifique. Ces Utilisateurs sont aussi sont contenues à l'intérieur de Projects de collecte. Chaque Project a son Users collection comme si j'ai décomposé le lstProjects ce serait comme:

lstProjects --> [0]-->//other Properties
ICollection[Users]-->[0]//Contains User class Properties
[1]....
[1] ... same procedure

Espère que ça efface le scénario

  • Qu'est-ce que lstProjects? Si c'est un List<Project>, alors vous avez réellement obtenu un List<Project> comme lstUsers, en dépit de vos noms. Si vous passez la souris sur la var de var lstUsers dans Visual Studio, que faut-il vous montrer? Et quel est le message d'erreur? Il serait vraiment utile si vous voulez montrer une courte mais complète du programme montrant le problème. (Aussi, pourquoi êtes-vous en train de créer une liste vide et ensuite l'ignorer? Pourquoi n'utilisez vous pas var lstUsersToDisplay = lstUsers;?)
  • mon m'excuse auprès de la frappe, fondamentalement, je suis en récupérant les utilisateurs de la collecte à partir de la liste des projets. j'ai modifié
  • Si votre users gamme variable est en fait un Project? Saint confusion de dénomination, de Batman! Il semble que vous avez maintenant obtenu une List<ICollection<Users>>. Encore une fois, vous devriez passez la souris sur la var voir ce que vous avez réellement obtenu...
InformationsquelleAutor Hassaan | 2014-07-02