Entity Framework/LINQ: die Auswahl von Spalten aus mehreren Tabellen?

Modelle:

 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; }
}

Möchte ich wählen Sie "ResourceName" Ressourcen-Modell und "ResourceQuantity" von UserResource Modell für einen gegebenen "UserId". Auch, wenn es aktiviert ist, benötige ich ein neues Modell tragen nur die beiden angegebenen Spalten?

Beachten Sie auch, dass UserResource Modell hat einen zusammengesetzten Schlüssel, so bin ich verwirrt, wie man das verbinden... Ist das richtig?

 var userResources =
          from r in imDB.Resources
          join ur in imDB.UserResources
          on r.ResourceId equals ur.ResourceId
          select new { r.ResourceName, ur.ResourceQuantity };
können Sie erklären, Ihre business-Szenario etwas mehr ? Wenn Sie müssen, verwenden Sie die composite key (als junction-Modell) wenn Sie haben, um M:M-Beziehung.Was ist Ihre andere Modell, das haben viele-Beziehung ?
Hallo, mein anderes Modell ist ein sehr einfaches User genannt. Die UserResource Modell verbindet die Benutzer-und Ressourcen-Modelle. Ich aktualisierte die Modelle.
tun, dass du den ersten code oder was ? Die EF-version Sie verwenden ?
ja, Code-Erste, und die Letzte EF (5)

InformationsquelleAutor Deniz | 2013-02-09

Schreibe einen Kommentar