我有两个表:invoice_header(PK:org_number,supplier_number,invoice_number)和invoice_line(PK:org_number,supplier_number,invoice_number,seq)。 我的索引视图显示来自invoice_header的记录。我试图让Details视图显示invoice_line表中的相应记录。
我收到错误:“传递的主键值的数量必须与实体上定义的主键值的数量相匹配。 参数名称:keyValues“
错误在这里:
以下是Index视图中的相关部分:
我怀疑我需要为“seq”列提供一些内容,该列是invoice_line上复合PK的一部分。我希望看到所有与org_number,supplier_number和invoice_number匹配的记录,无论seq。
答案 0 :(得分:0)
如果你正在使用我怀疑你的Entity Framework,那么Find是错误的方法。查找是按主键搜索,这需要您输入组合键的值。在这种情况下,我相信你想要的方法是哪里。这将允许您通过值搜索而不是通过键搜索。
请记住,哪里不会遇到PK索引并且可能会出现性能问题。你会想做一些测试。您可以查看以下链接,查看EF的查询类型比较。