ASP.NET Core 6.0 EF脚手架问题:如何让上下文识别Room和Item模型
让DatabaseContext识别Room和Item模型的操作方法
方式一:用VS脚手架工具自动生成
- 在解决方案资源管理器里右键项目,选添加 -> 新建搭建基架的项
- 在弹出的“添加基架”窗口中,选MVC控制器(使用Entity Framework),点“添加”
- 在“添加控制器”窗口里:
- 模型类选Room,数据上下文类选已有的
DatabaseContext(别新建,不然会重复生成上下文文件) - 勾选“生成视图”,按需选择要生成的视图模板(列表、详情、创建等)
- 点“添加”,完成Room的脚手架生成
- 模型类选Room,数据上下文类选已有的
- 重复上述步骤,把模型类换成Item,完成Item的脚手架操作
方式二:手动修改DatabaseContext(无需生成控制器视图)
如果只需要让DbContext识别模型,不想额外生成控制器和视图,直接修改代码即可:
- 打开
DatabaseContext.cs文件,在类内部添加两个DbSet属性:public DbSet<Room> Rooms { get; set; } public DbSet<Item> Items { get; set; } - 保存文件后,打开包管理器控制台,执行迁移命令更新数据库:
Add-Migration AddRoomAndItemEntities Update-Database
验证
完成操作后回到HomeController,输入_context.就能看到Rooms和Items属性,此时就可以正常从Room表查询房间名称了。
内容的提问来源于stack exchange,提问作者Jonathan Small
相关产品推荐
相关产品推荐

