Я вернулась в инфраструктуру Entity для проекта. Мои отношения с базой данных выполняются в базе данных, а не только на бизнес-уровне.Entity Framework, сохраняющая запись в DB
У меня есть ограничение внешнего ключа, когда я пытаюсь добавить запись, в которой есть только что созданная дочерняя запись.
Ниже приведен простой пример моего стола и кода.
Главная Таблица
- Id Int (рк)
- ChildId Int (Ф.К.)
- Имя NVARCHAR (50)
Детский стол - Id INT (pk) - Наименование nvarch (50)
private static int addChild(string name)
{
using (var context = new DatabaseEntity())
{
var table = new DBChildTable() { Name = name };
context.DBChildTable.Add(table);
context.SaveChanges();
return table.Id;
}
}
private static int addMain(int childId, string name)
{
using (var context = new DatabaseEntity())
{
var table = new DBMainTable() { Name = name, ChildId = childId };
context.DBMainTable.Add(table);
context.SaveChanges();
return table.Id;
}
}
private static void basiceLogic()
{
int childId = addChild("Child");
addMain(childId, "Main");
}
Я использую инфраструктуру Entity 6 и базу данных конца SQL-сервера.
Я помню, что мне нужно было добавить команду в контекст или где-нибудь, чтобы передать код, чтобы сохранить запись из базы данных Entity в базу данных.
Любая помощь?
Благодаря
В чем Ваш вопрос? Код, который вы поделили, должен работать. – lorond
SaveChanges() - это команда :) – marius
Привет, я знаю. Когда я перехожу к второму методу добавления основных элементов, он жалуется на ограничение внешнего ключа на childId. Но если снова запустить метод, используя childId с первой попытки, он работает. –