带外键的mvc模型,连接丢失

时间:2015-10-11 13:23:02

标签: asp.net-mvc

我有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);
}

我做错了什么?

0 个答案:

没有答案