Эта ошибка часто выдается, но я не могу найти решение.Я новичок в Entity Framework и в моем первом подходе я получил эту ошибку.
Это то, что у меня есть.У меня есть корпоративный класс и отраслевой класс.Оба класса имеют свой собственный репозиторий.У компании есть один филиал, а в одном филиале может быть несколько компаний.
В моем графическом интерфейсе я заполняю комбо объектами Branch, которые я получаю из своего репозитория BranchRepository:
public IList<Branch> GetAllBranches()
{
var query = _context.Branches;
IList<Branch> branches = query.ToList();
return branches;
}
Это результатявляется источником данных отраслевого списка.
Когда я хочу спасти компанию, я делаю что-то вроде этого:
company.VisitorAddress = txtVisitAddress.Text;
company.City = txtCity.Text;
company.CompanyName = txtCompany.Text;
company.PhoneNumber = txtPhoneNumber.Text;
company.ZipCode = txtZipcode.Text;
company.Branch = ((Branch)cmbBranches.SelectedItem);
company.Website = txtWebsite.Text;
Затем я вызываю репозиторий моей компании, чтобы спасти мою компанию.Вот как выглядит метод сохранения:
public bool Save(Company company)
{
_context.AddToCompanies(company); // <-- This is where the error is thrown.
_context.SaveChanges();
return true;
}
Когда вызывается метод сохранения, я получаю ошибку «На объект сущности нельзя ссылаться несколькими экземплярами IEntityChangeTracker».
Очевидно, что я делаю что-то не так, но что?