我的Web API C#应用程序具有以Code First Way构建的实体框架。 我有一个DbContext类,如下所示:
public class AppDbContext : DbContext
{
public AppDbContext()
: base("name=AppDbContext")
{
}
public DbSet<User> Users { get; set; }
public DbSet<Transaction> Transactions { get; set; }
public DbSet<MenuItem> MenuItems { get; set; }
public DbSet<Restaurant> Restaurants { get; set; }
public static AppDbContext Create()
{
return new AppDbContext();
}
}
在Controller中,我将DbContext称为变量。
public class AppController : ApiController
{
private DbContext _context;
public AppController()
{
_context = new AppDbContext();
}
protected override void Dispose(bool disposing)
{
_context.Dispose();
}
[HttpPost]
public HttpResponseMessage Authorize(User user)
{
User currentUser = _context.Users......
在控制器变量的最后一行_context无法识别它的属性。
如何使其发挥作用?
答案 0 :(得分:5)
将字段类型从基础DbContext
更改为AppDbContext
private AppDbContext _context;
DbSet属性在子类中声明,因此通过引用基类类型无法显示它们。