tôi có mô hình sau đây và đang cố gắng tìm một đối tượng cụ thể trong một DbSet
:Tìm một phần tử trong một DbSet với một hỗn hợp chính chủ chốt
public class UserSkill
{
[Key, Column(Order = 1)]
public int UserId { get; set; }
[Key, Column(Order = 2)]
[ForeignKey("Skill")]
public int SkillId { get; set; }
public virtual Skill Skill { get; set; }
}
Tôi đã thử hai cách sau đây của việc tìm kiếm một số UserSkill
đối tượng (tôi đang đi qua các DbSet
của UserSkills
qua ViewBag
):
ViewBag.UserSkills.Find(new { WebSecurity.CurrentUserId, item.SkillId })
ViewBag.UserSkills.Find(new UserSkill(WebSecurity.CurrentUserId, item.SkillId))
Nhưng trong cả hai trường hợp, tôi nhận được một lỗi:
The number of primary key values passed must match number of primary key values defined on the entity.
Tôi đang thiếu gì? Dường như với tôi rằng khóa chính bao gồm hai cột và tôi đang cung cấp hàm tìm kiếm với hai giá trị bao gồm khóa chính.