我能做这样的事情吗? get实体按类型名称

本文关键字:实体 get 类型 | 更新日期: 2023-09-27 18:18:59

我可以做这样的东西为get实体的类型名称?我有很多实体,我想做一个通用的方法来获取。

try
{
     Type objectType = Type.GetType("Type." + type.ToString() + ", Assembly", true);
     data = _myDbContext.Set<objectType >.Where(w => w.Id == id).FirstOrDefault();
     return data;
}
catch (TypeLoadException e)
{
}
catch (Exception e)
{
}

我能做这样的事情吗? get实体按类型名称

您最好在Set方法中使用泛型类型,而不是担心反射。

public TEntity GetById<TEntity>(int id)
    where TEntity : class
{
    return _myDbContext.Set<TEntity>().Where(x => x.Id == id).FirstOrDefault();
}

用法:

Account myAccount = Repository.GetById<Account>(69);