我正在尝试在.Net Core RC2中添加一个脚手架mvc视图但是我收到错误“DbContext上没有实体类型ClientsOverviewViewModel RNW.Data.ApplicationDbContext”。
在视图中我想显示一个Client列表。 我的客户类:
public class Client : Person
{
#region Personal Data
public Nationality Nationality { get; set; }
public Confession Confession { get; set; }
public string SSN { get; set; }
public MaritalStatus MaritalStatus { get; set; }
#endregion
...
}
public class Person
{
public string Firstname { get; set; }
public string Lastname { get; set; }
public Sex Sex { get; set; }
public DateTime Birthday { get; set; }
public Address Birthplace { get; set; }
public Address ResidentialAddress { get; set; }
public string EMail { get; set; }
public string PhoneNumber { get; set; }
}
在列表中,我想显示5个属性,我已将其放入ViewModel:
public class ClientsOverviewViewModel
{
[Display(Name = "Nachname")]
public string LastName { get; set; }
[Display(Name = "Vorname")]
public string FirstName { get; set; }
[Display(Name = "Geschlecht")]
public Sex Sex { get; set; }
[Display(Name = "Staatsbürgerschaft")]
public string Nationality { get; set; }
[Display(Name="Geburtsdatum")]
public DateTime? DateOfBirth { get; set; }
}
这里也是我的ApplicationDbContext类:
public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
{
public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options)
: base(options)
{
}
}
如果我尝试使用Client而不是viewmodel,我也会得到同样的错误。
到目前为止我尝试过的事情:
public DbSet<Client> Clients { get; set; }
public DbSet<ClientsOverviewViewModel> Clients { get; set; }
(这不应该是必需的,但我想我会试一试)我还没有生成数据库,这可能是个问题吗? 我还在版本1.0.0-preview1-final
中使用实体框架核心我也尝试过: 我添加了一个 TempDbContext 派生自DbContext,只是想用模型类客户端和数据上下文类 TempDbContext添加视图。 然后我收到错误“指定的项目不是列表的元素”
可悲的是,我无法找到有关我的问题的任何博客文章或stackoverflow问题。
答案 0 :(得分:3)
您的ViewModel类必须有一个键。名为Id
的属性可以正常工作。
答案 1 :(得分:0)
我遇到的问题是EF不支持通用列表(List)。一旦我改变了这一点,我就可以使用脚手架工具了。