c# - System.Data.Entity.Core.MappingException,概念端的 abc 不能映射到对象端的类型“System.Enum”
问题描述
在这个错误上花了几个小时,仍然无法找出原因。
System.Data.Entity.Core.MappingException:概念端的“类型'abc.Database.Enum'不能映射到对象端的类型'System.Enum'。两种类型都必须是抽象类型,或者都必须是具体类型。
我在做什么
- 使用分贝优先方法。db 类模型建立在实际数据库之上
- 基于默认 dbcontext 类创建自定义 dbcontext 类。自定义类接受一个参数。
例如
public class TestDbContext:DbContext
{
public TestDbContext(string connection) : base(connection)
{
}
public DbSet<user_menu> user_menus { get; set; }
}
- 使用数据库名称作为参数创建一个 testDBContext 对象,找到 dbset 并使用 ToList() 将结果更改/保存到列表中。
- 将保存的列表传递给查看。
错误将在第 4 步抛出。
我尝试过的事情:
- 重构数据库模型类
- 重构自定义 dbcontext 类
- 删除 bin/obj 文件夹,清理解决方案并重建。
以上方法均无效。
希望有人可以对此有所了解。谢谢
解决方案
不敢相信我花了两天时间。基本上发生的事情是从 dbcontext 返回的 dbset 模型之一中存在拼写错误。我不小心将模型中的属性之一设置为枚举。将其改回字符串类型并工作。错误消息在提供关于在哪里查看事物的提示方面有点模糊,但这对我来说是一个很好的教训。我通过针对整个项目搜索“枚举”发现了这个问题。
推荐阅读
- php - move_uploaded_file 在 wordpress 文件夹中不起作用
- c - “i%0xff”的结果是什么?
- javascript - js下载div并将meta附加到html
- node.js - 来自 url 的 Mailgun 附件 - 谁在阅读流?
- reactjs - useBaseName 在历史 npm 包中不可用
- php - 每次我在提交表单后刷新页面时,用户都会注册
- wpf - 如何在wpf中使DataGrid的第一行只读
- c++ - 使用 Mingw 构建环境 C++?
- python - 将具有 NaN 的 pandas 数据帧转换为深度 >=2 的嵌套 json
- google-maps - NativeScript Google-Places API --> 如何使用?