我只是在学习 MVC、Web API 和实体框架。
我在 VS 2012 中创建了一个带有 Web API 的 MVC 4 Web 应用程序。在模型下,我右键单击添加,然后单击 ADO.NET 实体数据模型。这使我能够创建我想要的数据库布局。然后我右键单击并选择从模型生成数据库。
一切似乎都正常工作 - 至少创建了新数据库,并且我在创建的 ...Model.tt 下看到了我的每个表的类。在 ...Model.Context.tt 我有一个 ...Model.Context.cs 包含:
public DbSet<User> Users { get; set; }
public DbSet<Message> Messages { get; set; }
public DbSet<State> States { get; set; }
public DbSet<Item> Items { get; set; }
当我在 /api/user/ 尝试 Web API 时,我收到了找不到资源的错误。所以我想我可能需要创建控制器?api控制器?这就是我所做的,我的每个表都有一个控制器 - UserController、MessageController 等。创建每个表还需要指定一个数据上下文类 - 我选择创建一个我认为可能是错误的新表。
我现在看到的问题是我拥有所有这些类,它们都创建了一个 DbContext 基类。我刚刚注意到每个都在 web.config 中添加了一个连接字符串行。:S
我确定这是不对的——所有这些表都在同一个数据库中,因此只需要一个连接。
根据我记录的内容,谁能告诉我哪里出错了?我应该为每个表创建一个控制器吗?
谢谢。