به دلایلی در دستورالعمل 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 ()
استفاده کنم؟