2016-05-06 15 views
0

イム文字列配列からの召し方法によってstatemensを含ん簡素化しようとしている文字列配列からインクルードとにかくそれをするには?コンマで区切られた文字列を使用して含めるリレーションシップを動的にteelする必要がありますEntity Frameworkの6は

PS:LazyLoadを無効にしようとしましたが、リレーションは常にNothingを返します。

Thnks!またInfraestructure.DBQueryへ

する変数の型を指定しなければならない "クエリ"、および文を修正:

+1

まず、それがあるべき'query = query.Include(s)'です。第二に、私はエラーがインクルードに関連していないと思うが、おそらく、コンテキストが破棄された後にナビゲーションプロパティにアクセスするだろう。 –

+0

私はそれに気付かなかった。そこで、query = query.Includeを追加しようとしましたが、キャスト例外が発生しました(タイプ 'System.Data.Entity.Infrastructure.DbQuery'1 [User]'のオブジェクトを型変換することができません 'System .Data.Entity。DbSet'1 [User] '。) – Migue

+0

私は問題を解決できました!変数 "query"の型をInfraestructure.DBQueryに指定し、文を修正する必要があります:query = query.Include(s)。 Thnks @GertArnold !! – Migue

答えて

0

ソリューションクエリ= query.Include(S)

Dim list as new List(Of User) 
Using ctx As New UsersEntities 
    Dim query As Entity.Infrastructure.DbQuery(Of User) = ctx.User 
    For Each s As String In relations.Split(",") 
     If s IsNot Nothing And s.Length > 0 Then 
      query = query.Include(s) 
     End If 
    Next 
    list = query.ToList() 
End Using 
関連する問題