C# asp.net脚手架生成项目-从数据库中选择不带选项的标记

C# asp.net脚手架生成项目-从数据库中选择不带选项的标记,c#,asp.net,asp.net-mvc,entity-framework,asp.net-mvc-scaffolding,C#,Asp.net,Asp.net Mvc,Entity Framework,Asp.net Mvc Scaffolding,我试图重新解释[这个简单的教程][1] 在图书模型中,我删除了ScaffoldColumn(false)上面的public int AuthorID,以便在我的视图中选择AuthorID 重新绑定后,我可以在Books/Create中看到此选择,但它没有任何选项 在我的数据库中,我可以看到,在SampleData模型中添加的所有项目都具有BookID和AuthorID 为什么它在html中没有结果 编辑: 我的书 using System.ComponentModel.DataAnnotatio

我试图重新解释[这个简单的教程][1]

在图书模型中,我删除了
ScaffoldColumn(false)
上面的
public int AuthorID
,以便在我的视图中选择
AuthorID

重新绑定后,我可以在Books/Create中看到此选择,但它没有任何选项

在我的数据库中,我可以看到,在SampleData模型中添加的所有项目都具有
BookID和AuthorID

为什么它在html中没有结果

编辑:

我的书

using System.ComponentModel.DataAnnotations;

namespace ContosoBooks.Models
{
    public class Book
    {

        public int BookID { get; set; }
        [Required]
        public string Title { get; set; }

        public int Year { get; set; }
        [Range(1, 500)]
        public decimal Price { get; set; }

        public string Genre { get; set; }


        public int AuthorID { get; set; }

        // Navigation property
        public virtual Author Author { get; set; }
    }
}
我的作者

using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;

namespace ContosoBooks.Models
{
    public class Author
    {
        public int AuthorID { get; set; }
        [Required]
        [Display(Name = "Last Name")]
        public string LastName { get; set; }

        [Display(Name = "First Name")]
        public string FirstMidName { get; set; }

        public virtual ICollection<Book> Books { get; set; }
    }
}
使用System.Collections.Generic;
使用System.ComponentModel.DataAnnotations;
命名空间ContosoBooks.Models
{
公共类作者
{
公共int AuthorID{get;set;}
[必需]
[显示(Name=“Last Name”)]
公共字符串LastName{get;set;}
[显示(Name=“First Name”)]
公共字符串FirstMidName{get;set;}
公共虚拟ICollection图书{get;set;}
}
}
我的脚手架生成的图书创建视图(Create.cshtml)

@model ContosoBooks.Models.Book
@{
ViewData[“标题”]=“创建”;
}
创造
书

返回列表 @节脚本{ } [1]: http://docs.asp.net/en/latest/tutorials/your-first-aspnet-application.html
在您的“创建”页面上,它不会显示ID,因为它没有值,并且应用程序预期在将对象插入数据库时将生成ID。

我们可以查看您的代码吗?脚手架似乎工作不正常。请看下面:
@model ContosoBooks.Models.Book

@{
    ViewData["Title"] = "Create";
}

<h2>Create</h2>

<form asp-action="Create">
    <div class="form-horizontal">
        <h4>Book</h4>
        <hr />
        <div asp-validation-summary="ValidationSummary.ModelOnly" class="text-danger"></div>
        <div class="form-group">
            <label asp-for="AuthorID" class="col-md-2 control-label"></label>
            <div class="col-md-10">
                <select asp-for="AuthorID" class ="form-control"></select>
            </div>
        </div>
        <div class="form-group">
            <label asp-for="Genre" class="col-md-2 control-label"></label>
            <div class="col-md-10">
                <input asp-for="Genre" class="form-control" />
                <span asp-validation-for="Genre" class="text-danger" />
            </div>
        </div>
        <div class="form-group">
            <label asp-for="Price" class="col-md-2 control-label"></label>
            <div class="col-md-10">
                <input asp-for="Price" class="form-control" />
                <span asp-validation-for="Price" class="text-danger" />
            </div>
        </div>
        <div class="form-group">
            <label asp-for="Title" class="col-md-2 control-label"></label>
            <div class="col-md-10">
                <input asp-for="Title" class="form-control" />
                <span asp-validation-for="Title" class="text-danger" />
            </div>
        </div>
        <div class="form-group">
            <label asp-for="Year" class="col-md-2 control-label"></label>
            <div class="col-md-10">
                <input asp-for="Year" class="form-control" />
                <span asp-validation-for="Year" class="text-danger" />
            </div>
        </div>
        <div class="form-group">
            <div class="col-md-offset-2 col-md-10">
                <input type="submit" value="Create" class="btn btn-default" />
            </div>
        </div>
    </div>
</form>

<div>
    <a asp-action="Index">Back to List</a>
</div>

@section Scripts {
    <script src="~/lib/jquery/dist/jquery.min.js"></script>
    <script src="~/lib/jquery-validation/dist/jquery.validate.min.js"></script>
    <script src="~/lib/jquery-validation-unobtrusive/jquery.validate.unobtrusive.min.js"></script>
}

  [1]: http://docs.asp.net/en/latest/tutorials/your-first-aspnet-application.html