C# 具有多个键的EF Find()

C# 具有多个键的EF Find(),c#,entity-framework,C#,Entity Framework,我试图在一组EF类上使用Find(),该类有一个外键和两个主键,但是我不断得到错误 这是我的班级: public class dbDDV { [ForeignKey("dbf")] [Column(Order = 0)] public int id { get; set; } [Key] [Column(Order = 1)] public DateTime D0 { get; set; }

我试图在一组EF类上使用Find(),该类有一个外键和两个主键,但是我不断得到错误

这是我的班级:

public class dbDDV
    {
        [ForeignKey("dbf")]
        [Column(Order = 0)]
        public int id { get; set; }

        [Key]
        [Column(Order = 1)]
        public DateTime D0 { get; set; }

        [Key]
        [Column(Order = 2)]
        public DateTime D1 { get; set; }

        public double V{ get; set; }
    }
对于id、D0和D1的特定值,我一直尝试使用Find()

以下是我收到的错误:

System.ArgumentException:传递的主键值数量必须与实体上定义的主键值数量匹配


在这种情况下,Find()的正确方法是什么?

只有
D0
D1
是复合主键的一部分(不是
id
,尽管这很奇怪,但我不是来评判你的设计的)。因此,在调用
Find

dbContext.mySetOfdbDDV.Find(myD0,myD1)

身份证也是必需的。最后,我在id列中添加了[Key],使其成为主键和外键,从而使我可以像最初一样使用Find。这很有效。在我的实现中,我最终改变了设计,将[Key]添加到id列中,以便同时作为主键和外键。
dbContext.mySetOfdbDDV.Find(myD0,myD1)