چرا این پرتاب یک مقدار NULL استثنا دارد؟

به دلایلی در دستورالعمل db.SaveChanges ()؛ با خطای زیر روبرو می شوم:

Cannot insert the value NULL into column 'UserId', table 'XXXXXXXXX_Dev.dbo.Portfolios'; column does not allow nulls. INSERT fails.
The statement has been terminated. 

کد کنترلر:

[HttpPost]
[Authorize]
public ActionResult Create(Portfolio portfolio)
{
    if (ModelState.IsValid)
    {
        portfolio.UserId = (Guid)Membership.GetUser().ProviderUserKey;
        db.AddToPortfolios(portfolio);
        db.SaveChanges(); 
    }
    return View("MyPortfolios");
}

من از طریق اشکال زدا گام برداشته ام و تأیید کرد که UserID در حال پر شدن است.

بروزرسانی:

سعی کردم db.AddToPortfolios (نمونه کارها) ؛ به db.Portfolios.AddObject (نمونه کارها) ؛ را تغییر دهم

Portfolios یک ObjectSet است ، آیا باید از روش Attach () استفاده کنم؟

8
задан ZeroDivide 7 July 2011 в 17:15
поделиться