У меня есть две сущности, определенные следующим образом:
public class Corporation
{
public int Id{get;set;}
public string Name{get;set;}
public List<Location> Locations{get;set;} // All locations under this corp
}
public class Location
{
public int Id{get;set;}
public Corporation Corporation{get;set;} // Corporation is required in configuraion
}
Когда я пытаюсь добавить корпорацию, а затем местоположение, я получаю две корпорации.Один от моей функции, которая добавляет корпорацию (что хорошо), и один от функции, которая добавляет местоположение (что является проблемой).
Функция добавления местоположения выглядит следующим образом:
public void AddLocation(int locationId)
{
using (Context context = new Context())
{
Location location = new Location();
location.Corporation = GetCorporationFromDb(corpId);
context.Locations.Add(location); // This one adds another same Corporation to DB
context.SaveChanges();
}
}
Как этого избежать?Я должен добавить Корпорацию перед Местоположением, потому что в реализации Местоположение вычисляет электронный код, используя идентификатор базы данных Корпорации.