Entity Framework/LINQ: choix des colonnes à partir de plusieurs tables?

Modèles:

 public class User
 {
     [Key]
     public int UserId { get; set; }
     public string UserName { get; set; }
 }

public class Resource
{
    [Key]
    public int ResourceId { get; set; }
    public string ResourceName { get; set; }
    public string  ResourceDescription { get; set; }
}

public class UserResource
{
    [Key, Column(Order=0)]
    public int UserId { get; set; }
    [Key, Column(Order=1)]
    public int ResourceId { get; set; }
    public int ResourceQuantity { get; set; }
}

Je veux sélectionner "ResourceName" à partir de la Ressource de modèle et de "ResourceQuantity" de UserResource modèle de la "UserId". Aussi, une fois sélectionné, ai-je besoin d'un tout nouveau modèle à porter seuls ces deux colonnes spécifiées?

Également noter que UserResource modèle a une clé composite, donc je suis confus quant à la façon de faire la jointure... Est-ce exact?

 var userResources =
          from r in imDB.Resources
          join ur in imDB.UserResources
          on r.ResourceId equals ur.ResourceId
          select new { r.ResourceName, ur.ResourceQuantity };
pouvez-vous expliquer votre scénario d'entreprise peu plus ? Si vous avez besoin d'utiliser de clé composite (comme une jonction modèle) quand vous devez avoir M:M relation.Qu'est-ce que votre autre modèle qui, ayant beaucoup de relations ?
Bonjour, mon modèle est très simple Utilisateur appelé. Le UserResource modèle rejoint l'Utilisateur et les modèles de Ressources. J'ai mis à jour les modèles.
pensez-vous avoir le premier code ou quoi ? Qui EF version que vous utilisez ?
oui le Premier Code, et plus tard EF (5)

OriginalL'auteur Deniz | 2013-02-09