尝试为数据库设定种子时出现 EF 异常
本文关键字:EF 异常 种子 数据库 | 更新日期: 2023-09-27 18:35:21
我按照本教程创建了自己的应用程序: http://www.asp.net/mvc/overview/getting-started/getting-started-with-ef-using-mvc/creating-an-entity-framework-data-model-for-an-asp-net-mvc-application
当我开始调试并尝试打开玩家列表的选项卡时,它相当于这些教程中的"学生"选项卡,我得到了以下异常:
异常详细信息:类型为"AzsPkInz.DAL.AZSContext"的对象无法转换为类型"System.Data.Entity.IDatabaseInitializer'1[AzsPkInz.DAL.AZSContext]"。
源错误:
- 第 19 行:公共操作结果索引()
- 第 20 行:{
- 第 21 行:返回视图(db.Players.ToList());
- 第 22 行:}
这是AZSContext
来源:
public class AZSContext : DbContext
{
public AZSContext() : base("AZSContext")
{
}
public DbSet<Player> Players { get; set; }
public DbSet<Training> Trainings { get; set; }
public DbSet<Enrollment> Enrollments { get; set; }
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();
}
}
这是一个Player
模型:
public class Player
{
public int ID { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public DateTime BirthDate { get; set; }
public DateTime JoinDate { get; set; }
public virtual ICollection<Enrollment> Enrollemnts { get; set; }
}
知道我做错了什么吗?
确保在您的 Web 配置中,databaseInitializer
元素指向IDatabaseInitializer
(例如 SchoolInitializer
)而不是AZSContext
。
<contexts>
<context
type="ContosoUniversity.DAL.SchoolContext, ContosoUniversity">
<databaseInitializer type="ContosoUniversity.DAL.SchoolInitializer, ContosoUniversity" />
</context>
</contexts>