' ApplicationDbContext'不包含' etudiant'的定义

时间:2017-01-11 16:18:52

标签: c# asp.net-mvc entity-framework

修改我的数据库上下文后,所有内容都被窃听,我无法修复它......

所以我添加了以下3个连接(我知道它们指的是同一个表,它们刚刚被创建用于测试并试图找到一个如何工作......):

 <connectionStrings>
<add name="DefaultConnection" connectionString="data source=(localdb)\MSSQLLocalDB;initial catalog=ManyToManyTest;integrated security=True;context connection=False;MultipleActiveResultSets=True;App=EntityFramework" providerName="System.Data.SqlClient" />
<add name="ManyToMany" connectionString="data source=(localdb)\MSSQLLocalDB;initial catalog=ManyToManyTest;integrated security=True;context connection=False;MultipleActiveResultSets=True;App=EntityFramework" providerName="System.Data.SqlClient" />
<add name="SchoolContext" connectionString="Data Source=(LocalDb)\v13.0;Initial Catalog=ManyToManyTest;Integrated Security=SSPI;" providerName="System.Data.SqlClient"/>

(我对connectionString的所有参数一无所知,如果有人对此有一些帮助,我感兴趣:))

在我的IdentityModel.cs中,我可以看到:

public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
{
    public ApplicationDbContext()
        : base("SchoolContext", throwIfV1Schema: false)

我尝试用以上所有3个替换SchoolContext但没有成功...... 我的错误发生在我的一个控制器上:

    public class etudiantsController : Controller
{
    public ApplicationDbContext db = new ApplicationDbContext();

    // GET: etudiants
    public ActionResult Index(String sortOrder, string searchString)
    {
        ViewBag.NameSortParm = String.IsNullOrEmpty(sortOrder) ? "name_desc" : "";
        var students = from s in db.etudiant
                       select s;
        if (!String.IsNullOrEmpty(searchString))
        {
            students = students.Where(s => s.prenom.Contains(searchString)
                                   || s.nom.Contains(searchString)
                                   || s.mail.Contains(searchString));
        }
        switch (sortOrder)
        {
            case "name_desc":
                students = students.OrderByDescending(s => s.prenom);
                break;
            default:
                students = students.OrderBy(s => s.prenom);
                break;
        }
        return View(students.ToList());

错误出现在var.comudiant(来自英语中的学生)的行var students =来自并且位于db.etudiant

完整的错误消息如下:

  

错误CS1061&#39; ApplicationDbContext&#39;不包含的定义   &#39; etudiant&#39;没有延伸方法&#39; etudiant&#39;接受第一个   类型&#39; ApplicationDbContext&#39;的参数可以找到(是你   缺少using指令或程序集   参考?)ManyToManyApp \ Projects \ ManyToManyApp \ ManyToManyApp \ Controllers \ etudiantsController.cs

1 个答案:

答案 0 :(得分:2)

您忘记为实体集添加属性:

public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
{
    public ApplicationDbContext() : base("SchoolContext", throwIfV1Schema: false)

    public DbSet<Student> etudiant { get; set;} // add this
}

其中学生是您的实体类