在razor页面中放置下拉列表

在razor页面中放置下拉列表,razor,razor-pages,Razor,Razor Pages,我想在我的页面上放一个下拉列表。我有以下模型类: using System; using System.Collections.Generic; namespace ProjectList.Models { public partial class AllItProjectsList { public int ProjectId { get; set; } public string Name { get; set; } publ

我想在我的页面上放一个下拉列表。我有以下模型类:

using System;
using System.Collections.Generic;

namespace ProjectList.Models
{
    public partial class AllItProjectsList
    {
        public int ProjectId { get; set; }
        public string Name { get; set; }
        public string Description { get; set; }
        public IEnumerable<ProjectType> Type { get; set; }
     
       
    }
}

using System;
using System.Collections.Generic;

namespace ProjectList.Models
{
    public partial class ProjectType
    {
        public int ProjectTypeId { get; set; }
        public string ProjectType1 { get; set; }
    }
}
使用系统;
使用System.Collections.Generic;
名称空间ProjectList.Models
{
公共部分类AllitProject列表
{
公共int ProjectId{get;set;}
公共字符串名称{get;set;}
公共字符串说明{get;set;}
公共IEnumerable类型{get;set;}
}
}
使用制度;
使用System.Collections.Generic;
名称空间ProjectList.Models
{
公共部分类ProjectType
{
public int ProjectTypeId{get;set;}
公共字符串ProjectType1{get;set;}
}
}
在我的CSHTML页面上,我有如下代码:

<div class="form-group">
                <label asp-for="AllItProjectsList.Type" class="control-label"></label>
                <input asp-for="AllItProjectsList.Type" class="form-control" />
                <span asp-validation-for="AllItProjectsList.Type" class="text-danger"></span>
            </div>

我将上述代码更改为此,以便放置下拉列表:

<div class="form-group">
                <label asp-for="AllItProjectsList.Type" class="control-label"></label>
                @Html.DropDownListFor(x => Model.AllItProjectsList.Type, new SelectList(Model.AllItProjectsList.Type, "ProjectTypeId", "ProjectType1"), htmlAttributes: new { @class = "form-control", id = "Type1" })
            </div>

@DropDownListFor(x=>Model.AllItProjectsList.Type,new SelectList(Model.AllItProjectsList.Type,“ProjectTypeId”,“ProjectType1”),htmlAttributes:new{@class=“form control”,id=“Type1”})
我在ONModelCreating中有以下代码:

protected override void OnModelCreating(ModelBuilder modelBuilder)
    {
         modelBuilder.Entity<AllItProjectsList>(entity =>
        {
            entity.HasKey(e => e.ProjectId);

            entity.ToTable("All_IT_Projects_List");

            entity.Property(e => e.ProjectId).HasColumnName("Project_ID");

             entity.Property(e => e.Type).HasMaxLength(255);
        }
     });
 
 
 
 
 modelBuilder.Entity<ProjectType>(entity =>
        {
            entity.ToTable("Project_Type");

            entity.Property(e => e.ProjectType1)
                .HasColumnName("ProjectType")
                .HasMaxLength(50)
                .IsUnicode(false);
        });  
        OnModelCreatingPartial(modelBuilder);
模型创建时受保护的覆盖无效(ModelBuilder ModelBuilder)
{
modelBuilder.Entity(Entity=>
{
entity.HasKey(e=>e.projectd);
实体。ToTable(“所有IT项目列表”);
entity.Property(e=>e.ProjectId).HasColumnName(“项目ID”);
Property(e=>e.Type).HasMaxLength(255);
}
});
modelBuilder.Entity(Entity=>
{
实体。可转帐(“项目类型”);
entity.Property(e=>e.ProjectType1)
.HasColumnName(“项目类型”)
.HasMaxLength(50)
.IsUnicode(假);
});  
OnModelCreatingPartial(modelBuilder);
我得到这个错误:

InvalidOperationException:属性“AllItProjectsList.Type”的类型为“IEnumerable”,当前数据库提供程序不支持该类型。更改属性CLR类型或使用“[NotMapped]”属性或使用“OnModelCreating”中的“EntityTypeBuilder.ignore”忽略该属性