我有2个模特,艺术家和专辑。 艺术家有一系列专辑。 专辑有艺术家的外键(int artistId)。
现在,在我的网站上,您可以从其艺术家中选择版本专辑, 当我将相册发送回控制器时,其artistId始终为0(默认值为int)并且我未能保存相册,因为没有这样的艺术家有0个id。我如何失去艺术家的身份?
艺术家
public class Artist
{
public int Id { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public string Gender { get; set; }
public string NickName { get; set; }
public string Website { get; set; }
public string Facebook { get; set; }
public string Twitter { get; set; }
public string Wikipedia { get; set; }
public string Background { get; set; }
public long StartYearActivity { get; set; }
public virtual ICollection<Album> Albums { get; set; }
public DateTime Birthdate { get; set; }
}
专辑
public class Album
{
public int Id { get; set; }
public int ArtistId { get; set; }
public string Genre { get; set; }
public string Wikipedia { get; set; }
public List<Song> Songs { get; set; }
public string Name { get; set; }
public int NumOfSongs { get { return this.Songs != null ? this.Songs.Count : 0; } }
public int Year { get; set; }
}
当艺术家ID为空时,相册的保存方法:
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult EditAlbum([Bind(Include = "Id,Genre,Wikipedia,Name,Year")] Album album)
{
db.Entry(album).State = EntityState.Modified;
db.SaveChanges();
return RedirectToAction("Index");
}
return View(album);
}
我做错了什么?