私は自分のクラスで外部DLLを持っており、タイプに応じてクエリを作成したいと考えています。私はよく説明する。エンティティフレームワークのコア汎用クエリ
私は、関数はgettypeとタイプを取得する:
_context.Set<targetType>().ToList()
は私DBContextが_contextであると仮定すると:このような選択にするどのような方法がある場合は
Type targetType = Type.GetType("...");
。
おかげ
私は自分のクラスで外部DLLを持っており、タイプに応じてクエリを作成したいと考えています。私はよく説明する。エンティティフレームワークのコア汎用クエリ
私は、関数はgettypeとタイプを取得する:
_context.Set<targetType>().ToList()
は私DBContextが_contextであると仮定すると:このような選択にするどのような方法がある場合は
Type targetType = Type.GetType("...");
。
おかげ
は確かにあります:
var method = typeof(DbContext).GetMethod("Set").MakeGenericMethod(targetType);
var query = method.Invoke(ctx, null) as IQueryable;
var list = query.OfType<object>().ToList();
まあ、私はそのような何かをしました。
は、ここでは、この状態で始める例
Public class repository: dbcontext
{
public IDbset<car> Cras {get; set;}
Public IQueryable<T> Get<T>()
{
return this.gettype().getproberties().find(x=>. x.propertytype== typeof(T)). Getvalue(this) as IQueryable<T>;
}
}
ホップです。 投稿者:moble :)
私はかなりのようなステートメントが_context.Set(typeof(targetType))を望んでいると確信しています。 –