ho il seguente modello e sto cercando di trovare un oggetto specifico in un DbSet
:Trovare un elemento in una DbSet con un primario composito chiave
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; }
}
Ho provato i seguenti due modi di trovare una certa UserSkill
oggetto (sto passando il DbSet
del UserSkills
attraverso il ViewBag
):
ViewBag.UserSkills.Find(new { WebSecurity.CurrentUserId, item.SkillId })
ViewBag.UserSkills.Find(new UserSkill(WebSecurity.CurrentUserId, item.SkillId))
Ma in entrambi i casi, si ottiene un errore:
The number of primary key values passed must match number of primary key values defined on the entity.
Cosa mi manca? Mi sembra che la chiave primaria sia composta da due colonne e che fornisca la funzione di ricerca con i due valori che comprendono la chiave primaria.