0

stackoverflow に関する別の質問で、タイプ T のエンティティの主キー VALUE を次のように見つけることができることがわかりました

x=> x.EntityKey.EntityKeyValues[0].Value

IQueryable < T > q があります

ここで TModel : EntityObject,new()

すべての主キーのリストを取得したい。

   List<int> primarykeyvalues =  q.Select(x => (int)x.EntityKey.EntityKeyValues[0].Value).ToList()

ArrayIndex は LINQ to Entities ではサポートされていません

これは本質的に次のようにする必要があります

List<int> primarykeyvalues = DB.Products.Select(x=>x.Id).ToList()

(しかしその後はジェネリック)

(これは非複合キー専用であることは認識していますが、私の場合は関係ありません)

EntityKeyValues の配列インデクサーを認識しない linq-to-entities を回避する方法はありますか?

解決策は一般的である必要があり、魔法の文字列の「Id」などに依存したくありません。これらすべての主キー値を取得するための完全な代替方法は、もちろん常に歓迎されます。

4

0 に答える 0