当你使用Find()方法查询视图是是否出现以下错误:

.NET EF Find()方法查询视图(传递的主键值的数量必须与实体上定义的主键值的数量匹配) 随笔 第1张

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

而查询实体的时候则没有这个错误,于是观察一下EF生成的模型图

.NET EF Find()方法查询视图(传递的主键值的数量必须与实体上定义的主键值的数量匹配) 随笔 第2张

是不是发现有字段的图标不一样?没错,下图这个属性就是罪魁祸首了,只需要将它设为False,就可以了(注意保留主键为True其他全部设置为False)

.NET EF Find()方法查询视图(传递的主键值的数量必须与实体上定义的主键值的数量匹配) 随笔 第3张

最终我们的模型图是这个样子的,保存后试试Find()方法好了没有吧!

.NET EF Find()方法查询视图(传递的主键值的数量必须与实体上定义的主键值的数量匹配) 随笔 第4张

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄