【发布时间】:2021-06-12 16:09:24
【问题描述】:
我收到以下错误
unknown column 'extent3.id' in 'where clause'
当我在automapper.cs 配置文件中添加以下行时。
.ForMember(d => d.hq_state, m => m.MapFrom(o => o.firm_address.Where(c
=> (c.record_status != DeleteStatus && c.is_hq==true)).FirstOrDefault().ab_state_name))
x.CreateMap<firm, SupplierAutoCompleteDTO>()
.ForMember(d => d.display_name, m => m.MapFrom(o => o.name))
.ForMember(d => d.firm_contacts, m => m.MapFrom(o => o.firm_contacts.Where(c => c.record_status != DeleteStatus)))
.ForMember(d => d.hq_state, m => m.MapFrom(o => o.firm_address.Where(c => (c.record_status != DeleteStatus && c.is_hq==true)).FirstOrDefault().ab_state_name))
.ForMember(d => d.supplier_status, m => m.MapFrom(o => o.mst_firm_status.name));
【问题讨论】:
-
查看mysql数据库并验证该列是否存在于数据库中。
-
它存在,我加倍检查,它就像一个已知的 MySQL 连接器与 EF 的错误,现在我在这里寻找一些建议,如何将这个映射更改为不产生的不同 LINQ 语法错误。
-
当 DateTime 值为空时,您提供的链接是错误的。您的 ID 有问题。该链接来自 2013/2014 年,类似的旧错误很久以前就已修复。一些类似的错误可能是由 CORE 引起的。但这看起来不像是 CORE 错误。
-
但如果我删除这一行 .ForMember(d => d.hq_state, m => m.MapFrom(o => o.firm_address.Where(c => (c.record_status != DeleteStatus && c.is_hq==true)).FirstOrDefault().ab_state_name)) 不会有错误,是的,该列也存在于 DB 和 EF 模型中。
标签: c# mysql entity-framework linq