6

On suppose la structure de tableau suivant:Entity Framework CTP5 (premier code) Modélisation - tables de consultation

Tables:

**Tasks** 
taskID int PK 
taskName varchar 

**Resources** 
resourceID int PK 
resourceName varchar 

**Assignments** 
assignmentID int PK 
taskID int FK 
resourceID int FK 

Le tableau des tâches concerne une tâche à la ressource qui lui est attribué. Est-il possible de mapper cette structure avec le constructeur du modèle de sorte que je n'ai pas besoin de créer une classe poco Assignment - cachant une partie de la structure de données sous-jacente?

i.e. .:

public class Task 
{ 
    public int taskID { get; set; } 
    public string taskName { get; set; } 

    public virtual ICollection<Resource> resourceItems { get; set; } 
} 

public class Resource 
{ 
    public int resourceID { get; set; } 
    public string resourceName { get; set; } 
} 

Comment puis-je utiliser le générateur de modèle pour cartographier les tâches aux ressources sans créer une classe poco d'affectation?

Répondre

3

Here is an article about this very thing.

Edit, je n'ai pas un IDE devant moi, donc cela pourrait ne pas être exactement « dernière » syntaxe, mais il devrait vous aider à démarrer:

modelBuilder.Entity<Task>().HasMany(a => a.Resources).WithMany(b => b.Tasks).Map(m => 
{ 

    m.MapLeftKey(a => a.TaskId,"taskId"); 

    m.MapRightKey(b => b.ResourceId, "resourceId"); 

    m.ToTable("Assignments"); 

}); 
+0

Dans cet article EF fait cela dans le SSDL & csdl J'ai besoin de savoir comment le mapper dans le code en utilisant le constructeur du modèle. Je n'ai peut-être pas clairement indiqué dans ma question que j'utilise l'approche code-first dans CTP5. J'ai mis à jour mon titre. –

Questions connexes