У меня есть следующая модель и я пытаюсь найти конкретный объект в DbSet
:
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; }
}
Я пробовал следующие два способа найти определенный объект UserSkill
(я передаю DbSet
из UserSkills
через ViewBag
):
ViewBag.UserSkills.Find(new { WebSecurity.CurrentUserId, item.SkillId })
ViewBag.UserSkills.Find(new UserSkill(WebSecurity.CurrentUserId, item.SkillId))
Но в обоих случаях я получаю сообщение об ошибке:
Количество переданных значений первичного ключа должно соответствовать количеству значений первичного ключа, определенных на объекте.
Что мне не хватает? Мне кажется, что первичный ключ состоит из двух столбцов, и я предоставляю функцию find двумя значениями, которые содержат первичный ключ.