【发布时间】:2012-05-26 21:01:37
【问题描述】:
我正在使用 Entity Framework 和 MVC3,我的问题是如果模型继承自另一个类,我无法构建控制器。
例子:
public class Person
{
public int Id { get; set; }
public string Name { get; set; }
}
public class User : Person
{
public string Email { get; set; }
public string Password { get; set; }
}
public class Context : DbContext
{
public DbSet<Person> PersonSet { get; set; }
}
当我尝试使用模板 Controller with read/write actions and views, using Entity Framework 添加控制器 User 时,我收到此错误:
“用户”不是指定的“上下文”类的一部分,无法修改“上下文”类以向其添加“DbSet”属性。 (例如,'Context' 类可能在已编译的程序集中。)
我可以将public DbSet<User> UserSet { get; set; } 添加到Context,但我认为这不是正确的方法。
【问题讨论】:
-
如果不将User添加到DbContext中,你将把Email和Password存放在哪里?
-
通过将 PersonSet 添加到上下文中,我可以通过
context.PersonSet.OfType<User>()获得用户列表 -
@vicentedealencar ,我遇到了同样的错误,你是怎么解决的?这是我的问题MyQuestion
标签: asp.net-mvc-3 entity-framework inheritance