2012-06-21 2 views
0

У меня есть приложение, которое я создал с помощью 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); 
    } 
+0

Информация, которую вы предоставили, немного запутанна: 1. Ошибка sql вызывает жалобу на столбец UserId в таблице Moves, но вы пытаетесь вставить задание? 2. Что такое mm_Table1 и mm_Table2? –

ответ

0

Я понял, что это один из. У меня был дополнительный файл _Layout в моей общей папке в моем регионе. Очевидно, что даже при его скрытии компилятор увидит этот файл.