2012-06-21 32 views
0

我有我使用MVC3和自定義SQL數據庫有3個表創建的應用程序: mm_Table1mm_Table2mm_Jobs成功地與aspnet_Membership表擴展自定義的SQL數據表

我建了MVC應用程序與JobsController和有各Views文件夾Create.cshtmlDelete.cshtmlDetails.cshtmlEdit.cshtmlIndex.cshtml

我想mm_Profile與用戶相關聯。

ASPNET_MEMBERSHIP表集成到我的自定義數據庫之後,我加入uniqueidentifier類型的UserIdmm_Jobs,並建立了適當的外鍵關係aspnet_Users表(FK_Jobs_aspnet_Users

我這樣做了,現在當我填寫我的工作形式(位於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()方法的行:

Line:52 db.SaveChanges();

如何更新我的Create()保存更改並在用戶與任務關聯起來,從而推動UserIdUserId列在表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錯誤是抱怨Moves表上的UserId列,但是您嘗試插入作業? 2.什麼是mm_Table1和mm_Table2? –

回答

0

我想出了這一個。我在我的區域內的共享文件夾中有一個額外的_Layout文件。顯然,即使隱藏它,編譯器也會看到這個文件。