Entity Framework CTP5 (Code First) Моделирование - таблицы поиска - PullRequest
6 голосов
/ 22 февраля 2011

Предположим следующую структуру таблицы:

Таблицы:

**Tasks**
taskID int PK
taskName varchar

**Resources**
resourceID int PK
resourceName varchar

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

Таблица назначений связывает задачу с назначенным ей ресурсом. Можно ли отобразить эту структуру с помощью построителя модели, чтобы мне не нужно было создавать класс poco Assignment, скрывая некоторые базовые структуры данных?

т.е:.

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

Как использовать построитель моделей для сопоставления задач с ресурсами без создания класса poco для назначения?

1 Ответ

3 голосов
/ 22 февраля 2011

Вот статья об этой самой вещи .

Редактировать, у меня нет IDE передо мной, так что это может быть не совсем "последний" синтаксис, но он должен помочь вам начать:

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"); 

});
...