6

Supongamos la siguiente estructura de la tabla:Entity Framework CTP5 (Código primero) Modelado - tablas de búsqueda

Tablas:

**Tasks** 
taskID int PK 
taskName varchar 

**Resources** 
resourceID int PK 
resourceName varchar 

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

La tabla de asignaciones se relaciona una tarea con el recurso que se asigna a la misma. ¿Es posible mapear esta estructura con el generador de modelos para que no tenga que crear una clase Asignación - ocultando parte de la estructura de datos subyacente?

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

¿Cómo puedo utilizar el constructor de modelos para asignar tareas a los recursos sin crear una clase poco asignación?

Respuesta

3

Here is an article about this very thing.

Editar, no tengo un IDE delante de mí por lo que este podría no ser el "último" sintaxis exacta, pero debe empezar:

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

En ese artículo EF está haciendo que en el ssdl y csdl. Necesito saber cómo mapearlo en código usando el generador de modelos. Puede que no haya sido claro en mi pregunta que estoy usando el enfoque de codificar primero en CTP5. He actualizado mi título. –

Cuestiones relacionadas