修改我的数据库上下文后,所有内容都被窃听,我无法修复它......
所以我添加了以下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
答案 0 :(得分:2)
您忘记为实体集添加属性:
public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
{
public ApplicationDbContext() : base("SchoolContext", throwIfV1Schema: false)
public DbSet<Student> etudiant { get; set;} // add this
}
其中学生是您的实体类