Sam*_*mra 2 c# entity-framework composite-primary-key
我有一个现有的数据库,我在该数据库上使用代码优先 EF。现在数据库有一个带有复合键的表。我在代码中定义这个表如下
public class AssessmentResultType
{
    [Key]
    [Column(Order=1)]
    public int AssessmentID {get; set;}
    public int ResultType {get; set;}
    [Key]
    [Column(Order=2)]
    public int ResultTypeID {get; set;}
    .....
}
Run Code Online (Sandbox Code Playgroud)
我的存储库是
 public class AssessmentResultTypeRespository : Repository<AssessmentResultType>
{
    public AssessmentResultTypeRespository(string connString)
        :base(connString)
    { }
}
Run Code Online (Sandbox Code Playgroud)
存储库.cs
public class Repository<TEntity> : IRepository<TEntity> where TEntity:class
{
    protected readonly GradeXpertContext context;
    public Repository(string connString) {
        context = new ge(connString);
    }
    public TEntity Get(int id)
    {
        return context.Set<TEntity>().Find(id);
    }
    public IEnumerable<TEntity> GetAll() { 
        return context.Set<TEntity>().ToList(); 
    }
    public void Add(TEntity entity) {
        context.Set<TEntity>().Add(entity);
    }
    public void AddRange(IEnumerable<TEntity> entities) {
        context.Set<TEntity>().AddRange(entities);
    }
    public void Remove(TEntity entity) {
        context.Set<TEntity>().Remove(entity);
    }
    public void RemoveRange(IEnumerable<TEntity> entities) {
        context.Set<TEntity>().RemoveRange(entities);
    }
}
Run Code Online (Sandbox Code Playgroud)
如何调整/覆盖上面的代码以仅在以下情况下接受复合键AssessmentResultType?这样我才能写
var art1 = repAssResultType.Get(32, 4);
Run Code Online (Sandbox Code Playgroud)
    只需更改一种方法:
public TEntity Get(params object[] keyValues)
{
     return context.Set<TEntity>().Find(keyValues);
}
Run Code Online (Sandbox Code Playgroud)