Based on what you said on the comments, all you'r entities have the columns you want to lookup and update. Something like this:
public class EntityBase
{
public string LookupCol { get; set; }
public string Col1 { get; set; }
public string Col2 { get; set; }
}
Assuming that is true, you could do the following:
public class GenericRepo<TEntity> where TEntity : EntityBase
{
...
public void UpdateByStringColumn(string lookupCol, string col1Value, string col2Value)
{
//if you want it to break in case no entity was found, change it to First and remove the sanity check
var entity = this.DbSet.FirstOrDefault(p => p.LookupCol == lookupCol);
if (entity != null)
{
entity.Col1 = col1Value;
entity.Col2 = col2Value;
Context.SaveChanges();
}
}
}