2015-10-09 35 views
0

我在DbContext类中遇到了DbSet问题。当我建立我的解决方案。它使我有以下错误:DbSet无法识别其实体

类型或命名空间名称“学生”找不到(是否缺少using指令或程序集引用?)

以下是我的DbContext类:

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using System.ComponentModel.DataAnnotations; 
using System.Data.Entity; 

namespace CodeFirstMigration.Models 
{ 
    public class StudentDbContext : DbContext 
    { 
     public StudentDbContext() 
      : base("StudentDbContext") 
     { 
      Database.SetInitializer(new DropCreateDatabaseIfModelChanges<StudentDbContext>()); 
     } 
     public DbSet<Student> Students { get; set; } 
     public DbSet<Department> Departments { get; set; } 
    } 
} 

Student类:

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using System.ComponentModel.DataAnnotations; 
using System.Linq; 
using System.Text; 

namespace CodeFirst.Models 
{ 
    public class Student 
    { 
     public Student() 
     { 

     } 
     [Key] 
     public int Id { get; set; } 
     public string Name { get; set; } 

     [DataType(DataType.Date), 
     DisplayFormat(DataFormatString = "{0:dd/MM/yy}", ApplyFormatInEditMode = true)] 
     public DateTime? DateOfBirth { get; set; } 
     public string EmailId { get; set; } 
     public string Address { get; set; } 
     public string City { get; set; } 

     public Department Department { get; set; } // Navigation Property 
    } 
} 

部门级别:

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

namespace CodeFirst.Models 
{ 
    public class Department 
    { 
     public Department() 
     { 

     } 
     [Key] 
     public int Id { get; set; } 
     public string DepartmentName { get; set; } 

     public List<Student> Students { get; set; } // Navigation property 
    } 
} 

Student和Department类以及StudentDbContext都在同一个文件夹中。我试图包括使用ProjectName.Models.Student和ProjectName.Models.Department但徒劳无功。请帮助!

回答

1

您的上下文住在另一个命名空间:

namespace CodeFirstMigration.Models 

您是否尝试过加入使用CodeFirst.Models声明对上下文这样的吗?

using System.ComponentModel.DataAnnotations; 
using System.Data.Entity; 
using CodeFirst.Models; 

namespace CodeFirstMigration.Models 
{ 
    public class StudentDbContext : DbContext 
    { 
     public StudentDbContext() 
      : base("StudentDbContext") 
     { 
      Database.SetInitializer(new DropCreateDatabaseIfModelChanges<StudentDbContext>()); 
     } 
     public DbSet<Student> Students { get; set; } 
     public DbSet<Department> Departments { get; set; } 
    } 
} 
相关问题