2017-08-30 11 views
0

私は自分のクラスで外部DLLを持っており、タイプに応じてクエリを作成したいと考えています。私はよく説明する。エンティティフレームワークのコア汎用クエリ

私は、関数はgettypeとタイプを取得する:

_context.Set<targetType>().ToList() 

は私DBContextが_contextであると仮定すると:このような選択にするどのような方法がある場合は

Type targetType = Type.GetType("...");

おかげ

+0

私はかなりのようなステートメントが_context.Set(typeof(targetType))を望んでいると確信しています。 –

答えて

1

は確かにあります:

var method = typeof(DbContext).GetMethod("Set").MakeGenericMethod(targetType); 
var query = method.Invoke(ctx, null) as IQueryable; 
var list = query.OfType<object>().ToList(); 
0

まあ、私はそのような何かをしました。
は、ここでは、この状態で始める例

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 :)

関連する問題