Я использую Entity Framework 4.1. У меня есть таблица «DomainEntities», в которой содержится общая информация для всех объектов моего домена. У меня есть таблица пользователей, где UserID является внешним ключом из "DomainEntities".
см. EDMX:
Когда я запускаю следующий код, я получаю сообщение об ошибке:
Не удалось определить допустимый порядок зависимых операций. Зависимости могут существовать из-за ограничений внешнего ключа, требований модели или значений, сгенерированных хранилищем.
Код:
static void addUserTest()
{
DomainEntity userToAdd = new DomainEntity()
{
EntityName = "Test User",
EntityTypeID = DomainEntity.eEntityType.User,
EntityCreationDate = new DateTime(),
EntityLastUpdateDate = new DateTime(),
EntityCreatorUserID = 0,
EntityUpdaterUserID = 0,
EntityParentID = null,
UserDetails = new User()
{
Username = "TestUser",
Password = "123",
FirstName = "Test",
LastName = "User"
}
};
using (var context = new CamelotDB())
{
context.DomainEntities.Add(userToAdd);
context.SaveChanges();
}
}
Я не могу понять, по какой причине EF может понять, какой порядок INSERT требуется. Это должна быть одна запись в «DomainEntities», а затем одна запись в «Пользователи». Что я делаю неправильно ?