У меня есть приложение, которое я создал с помощью MVC3 и пользовательской SQL базы данных с 3 таблицей: mm_Table1
, mm_Table2
, mm_Jobs
успешно расширить пользовательский SQL DataTables с таблицами aspnet_Membership
Я построил из приложения MVC с JobsController
и иметь соответствующая Views
папка с Create.cshtml
, Delete.cshtml
, Details.cshtml
, Edit.cshtml
и Index.cshtml
Я хочу связать mm_Profile
с пользователем.
После интегрирования ASPNET_MEMBERSHIP
таблицы в мои пользовательских базы данных, я добавил UserId
столбец типа uniqueidentifier
в mm_Jobs
и создал надлежащее внешний ключ отношения к aspnet_Users
таблице (FK_Jobs_aspnet_Users
)
Я так и сделал, и теперь, когда я заполняю моя Jobs форма (находится в Jobs -> Create.cshtml
) и нажмите кнопку отправки, я получаю следующее сообщение об ошибке:
Cannot insert the value NULL into column 'UserId', table 'MovinMyStuff.dbo.Moves'; column does not allow nulls. INSERT fails. The statement has been terminated
строка кода в моем JobsController в моем Create()
методе:
Линия: 52 db.SaveChanges();
Как обновить мой Create()
, чтобы сохранить изменения и связать пользователя с заданием, тем самым толкая UserId
в UserId
колонку в Jobs
таблице? Полный метод создания приведен ниже:
[HttpPost]
public ActionResult Create(Job job)
{
if (ModelState.IsValid)
{
db.Moves.Add(job);
db.SaveChanges();
return RedirectToAction("Index");
}
return View(job);
}
Информация, которую вы предоставили, немного запутанна: 1. Ошибка sql вызывает жалобу на столбец UserId в таблице Moves, но вы пытаетесь вставить задание? 2. Что такое mm_Table1 и mm_Table2? –