Как я могу предотвратить вставку объекта EF, который уже существует в БД, при добавлении объекта, который содержит этот первый объект?

Это'Это довольно понятно. У меня есть класс, который содержит еще одинзовут их Предмет и Классная комната

public class Subject
{
   public Classroom Class {get; set;}
}

м с использованием фасадов без сохранения состояния, что означает, что мой DbContext удаляется сразу после восстановления объектов и создается для хранения новых. не должен»не знаю, что класс нет новый объект, так какs ID уже есть в БД? С помощью отладчика я могу отследить точку прямо перед вызовом метода SaveChanges, а Classroom.id - это тот, который у меня есть в базе данных. Какие'проблема? EF добавляет новый класс с точно такими же свойствами, как предыдущий, но с новым ПК. Что я здесь не так делаю?

Этот код используется для общих операций CRUD (они есть в моем DbContext). И обновление, и удаление работают очень хорошо:

    public void Update(DbSet MySet, object Obj)
    {
        MySet.Attach(Obj);
        var Entry = this.Entry(Obj);
        Entry.State = EntityState.Modified;
        this.SaveChanges();
    }


    public void Insert(DbSet MySet, object Obj)
    {
        MySet.Add(Obj);
        this.SaveChanges();
    }


    public void Delete(DbSet MySet, object Obj)
    {
        MySet.Attach(Obj);
        var Entry = this.Entry(Obj);
        Entry.State = EntityState.Deleted;
        this.SaveChanges();
    }

Ответы на вопрос(1)

Ваш ответ на вопрос