Я пытаюсь добавить новый объект Entity для сохранения, однако я получаю UpdateException , внутренним исключением которого является InvalidOperationException с сообщением:
Операция недопустима из-за текущего состояния объекта.
Объект, который создается:
var something = new SITE
{
EntityKey = new EntityKey("DataModelContainer.SITE", "SITE_ID", "ID"),
SITE_COMMON_REFERENCE = "hello",
SITE_ID = "hello"
};
, который затем передается:
public void ExportSiteData (SITE exportSiteData)
{
_context.SITE.AddObject(exportSiteData);
_context.SaveChanges(); //<-- Exception here
}
База данных - Oracle 11g, и я могу успешно извлекать данные через Entity Framework.
Я предполагаю, что проблема связана с базой данных, однако я могу успешно заполнить ее обоими значениями "привет" без проблем с ключом / ссылочной целостностью.
Я был бы очень признателен за указание в правильном направлении. Спасибо
Дополнительный код:
ExportSiteData находится в пределах BillRepository
, который реализует IDisposable
:
class BillRepository : IDisposable
{
private readonly DataModelContainer _context;
public BillRepository()
{
_context = new DataModelContainer();
}
public void ExportSiteData (SITE exportSiteData)
{
_context.SITE.AddObject(exportSiteData);
_context.SaveChanges(); //<-- Exception here
}
public void Dispose()
{
if (_context != null)
{
_context.Dispose();
}
}
}
и называется так:
using (var repo = new BillRepository())
{
repo.ExportSiteData(something);
}