首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >实体框架- MVC 5异常

实体框架- MVC 5异常
EN

Stack Overflow用户
提问于 2017-09-17 14:01:32
回答 1查看 163关注 0票数 0

System.InvalidOperationException发生HResult=0x80131509

误差

未能为应用程序配置中指定的'ClassEnrollment.DataAccess.SchoolInitializer,ClassEnrollment‘类型的DbContext类型“ClassEnrollment.DataAccess.SchoolContext,ClassEnrollment”设置数据库初始化程序。有关详细信息,请参阅内部异常。内部异常1:'ClassEnrollment.DataAccess.SchoolInitializer‘:无法从程序集“ClassEnrollment”加载类型Source=。

代码语言:javascript
复制
namespace ClassEnrollment.Models
{
    public class Student
    {
        public int ID { get; set; }
        public string FirstName { get; set; }
        public string LastName { get; set; }
        public DateTime EnrollemtnDate { get; set; }

        public virtual ICollection<Enrollment> Enrollments { get; set; }

    }
}
namespace ClassEnrollment.Models

{
    public class Enrollment {
    public int EnrollmentID{ get; set; }
    public int CourseID { get; set; }
    public int StudentID { get; set; }

    public Grade? Grade { get; set; }

    public Student Student { get; set; }
    public Course Course { get; set; }
}

    public enum Grade {
        A, B, C , D , F
    }
}



public class SchoolContext : DbContext
    {
        public SchoolContext() :base("SchoolContext") { }

    public DbSet<Student> Students { get; set; }
    public DbSet <Enrollment> Enrollments { get; set; }

    public DbSet <Course> Courses { get; set; }

    protected override void OnModelCreating(DbModelBuilder modelBuilder)
    {
        modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();
    }
}

namespace ClassEnrollment.Models
{
    public class SchoolInitializer : System.Data.Entity.DropCreateDatabaseIfModelChanges<SchoolContext>
    {
        protected override void Seed(SchoolContext context)
        {
            var Students = new List<Student> {
                new Student{FirstName="Kamal",LastName="Ranasighe",EnrollemtnDate=DateTime.Parse("2017-09-01") },
                new Student{FirstName="Nimal",LastName="Chaturanga",EnrollemtnDate=DateTime.Parse("2017-09-02") },
                new Student{FirstName="Namal",LastName="Silva",EnrollemtnDate=DateTime.Parse("2017-09-11") }
            };

            Students.ForEach(s=> context.Students.Add(s));
            context.SaveChanges();

            var courses = new List<Course>
            {
                new Course{CourseID=1005,Title="Developing C# Application",Credits=5},
                new Course{CourseID=1015,Title="Developing Xamarin Application",Credits=5},
                new Course{CourseID=1025,Title="Developing ASP.NET Application",Credits=5}
            };

            courses.ForEach(c => context.Courses.Add(c));
            context.SaveChanges();

            var Enrollments = new List<Enrollment>
            {
                new Enrollment{StudentID=1, CourseID=1005,Grade=Grade.A},
                new Enrollment{StudentID=2, CourseID=1025,Grade=Grade.C},
                new Enrollment{StudentID=3, CourseID=1015,Grade=Grade.F}
            };

            Enrollments.ForEach(e=>context.Enrollments.Add(e));
            context.SaveChanges();
        }
    }
}
EN

回答 1

Stack Overflow用户

发布于 2017-09-20 09:28:10

我想出了错误的原因。这是因为web.config文件找不到初始化程序的位置。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46264906

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档