我能做这样的事情吗? 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)
{
}
您最好在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);