c# - 表名和实体框架6的关系是怎么做的?
问题描述
我的数据库中的表的名称与我的上下文中的 dbset 不同,并且我的应用程序正在运行。
例如:表的名称是 Produtoes,我的上下文包含:
public DbSet<Produto> Produtos { get; set; }
我试图在我的项目中找到“Produtoes”这个词,但这个词不存在。
我的应用程序如何工作?
源代码:https ://github.com/alura-cursos/desenvolvimento-web-asp-net-mvc-5/archive/aula3.zip
要查看情况,只需致电:
localhost:port/produto
解决方案
我试图在我的项目中找到“Produtoes”这个词,但这个词不存在。
而你不会找到它。这是实体框架代码优先约定之一,称为PluralizingTableNameConvention:
表示将表名称设置为实体类型名称的复数形式的约定。
在英语中,Produto
将复数为Produtoes
,即表名。
推荐阅读
- typescript - Angular 7,传入html正文的函数在页面加载时被多次调用
- laravel - 尝试在单选按钮上使用 v-model 和 v-show 来显示不同的 div(Vue 和 Laravel)
- visual-studio - Azure DevOps 构建支持直接引用单独的项目,而不是通过 Visual Studio 通过 Nuget
- reactjs - 即使 action/reducer 没有更改该值,状态值也会更改
- java - 将本地 jar 添加到 mvn war 项目
- python - 如何在函数中使用 cv2.VideoWriter 将视频静止帧
- java - 无法从 API 响应中获取特定参数
- json - AdaptiveChars v1.2 架构更新
- html - 如何向使用 JavaScript 动态创建的 SVGRect 添加类?
- vaadin - Vaadin 流程:byte[] 到图像