Entity Framework создает объекты внешнего ключа вместо использования уже доступных

мой текущий проект основан на Entity Framwork code-first. У меня есть три типа: Task, TaskType и Module.

    public class Task
    {
        public int ID { get; set; }
        public Module Module { get; set; }
        public TaskType Type { get; set; }
    }

    public class TaskType
    {
        public int ID { get; set; }
        public string Name { get; set; }
    }

    public class Module
    {
        public int ID { get; set; }
        public string Name { get; set; }
    }

Внутри таблицы для Task-type определены отношения внешних ключей.

Моя проблема в том, что когда я пытаюсь создать новый Task-объект, связанный с уже доступным Объекты TaskType и Module (ID = 1), эти объекты создаются как новые строки в соответствующих таблицах.

        TaskRepository repo = new TaskRepository();

        Task task = new Task();
        task.Module = Modules.SingleOrDefault(m => m.ID == 1);
        task.Type = TaskTypes.SingleOrDefault(t => t.ID == 1);

        Tasks.Add(task);

Это создает новую строку в моей таблице TaskType-table и в моей таблице Modules вместо того, чтобы просто использовать уже доступные TaskType-ID и Module-ID.

Надеюсь, я прояснил, в чем моя проблема; -)

Заранее благодарим за вашу помощь. Я ценю это.

С уважением, Кевин

30
задан Ladislav Mrnka 6 June 2011 в 09:43
поделиться