填充 mvc5 列表?

Populate a mvc5 list?

现在我可以在 Games/Create 下创建游戏了。 我可以在 Post/Create.

下创建一个 post

但我的问题是,现在我的 public int GameId { get; set; } 填充了我的 SQL 数据库中游戏 table 中的项目。挺好的,我喜欢。

但我希望 public string Title { get; set; } 以与游戏数据库中的值相同的方式填充。

public int GameId { get; set; } 填充了一个下拉列表,其中包含我的游戏 table.

中的值

至于public string Title { get; set; }我必须手动输入。我希望它以与 GameId

相同的方式填充

这是我的Post模特

public class Post
{
    [Key]
    public int PostId { get; set; }

    //URL
    [Display(Name = "URL")]
    [StringLength(80)]
    public string Url { get; set; }
    //User
    [Display(Name = "User")]
    public virtual ApplicationUser User { get; set; }

    //Game
    [Display(Name = "Game")]
    public int GameId { get; set; }
    [Display(Name = "Next Game")]
    public string Title { get; set; }
    public virtual Game Game { get; set; }

    //Time
    private DateTime? _date;
    public DateTime? Date
    {
        get
        {
            if (_date == null || _date.ToString() == "1/1/0001 12:00:00 AM")
            {
                return _date = DateTime.Now;
            }
            return _date;
        }
        set
        {
            _date = value;
        }
    }

这是我的游戏模型

    public class Game
{
    [Key]
    public int GameId { get; set; }

    //Game
    [Display(Name = "Game")]
    public string Title { get; set; }

    //User
    [Display(Name = "User")]
    public virtual ApplicationUser User { get; set; }
}

实际上你的 Post 模型中不需要你的 属性 标题,在你的控制器中你可以做这样的事情来获取游戏的所有数据。

using (var db = new YourDbContext())
{
    var post = db.Posts().Include(g => g.Game).FirstOrDefault();
    var gameTitle = post.Game.Title;
}