2016-04-19 9 views
0

編集
は、あなたが複数のテーブルを生成するために、エンティティフレームワークを使用したとします。これで、MyDbEntitiesにオブジェクト(クライアント、ユーザー、製品、歌手[属性は関係ありません])があります。今度はメソッドを作成します。このメソッドは、オブジェクトをパラメータ+ MyDbEntitiesとして取得します。オブジェクトはクライアント、ユーザー、プロダクト、歌手になります。このメソッドでは、オブジェクトを指定するとそのオブジェクトのリストを返すというクエリがあります。私はそれが望むように私は、このメソッドを作成しようとしていますが、私はまだLINQまたはSQLでなく、のいずれかにしようとしています無駄これまで
更新
私はこれを試してみましたが、それは動作しますが、ありません。私を理解するために、以下のコードをチェックしてください。あなたは、このメソッドは、指定されたオブジェクトをチェックし、作成し、そのgiven_entity_typeのオブジェクトのリストを返す見ることができるように私は私の方法は、以下の私の方法LINQクエリ

public static Object get_all (MyDbEntitiesce, String given_entity_type) 
    { 
     if (given_entity_type.Equals("Client")) 
     { 
      var get_all = from clt in ce.Client 
         select clt; 

      return get_all.ToList().First(); 
     } 
     else if (given_entity_type.Equals("Product")) 
     { 
      var get_all = from pdt in ce.Product 
         select pdt; 

      return get_all.ToList().First(); 
     } 

     return null; 
    } 

であることができる方法

ViewBag.ok = LibMethods.get_all(MyDbEntities, "Client"); //Params = Entity & String 

これを。ここで私はテストのためにこれをやっているので、最初の要素を返します。
今、私は新しいオブジェクトをMyDbEntities &に追加するとします。それはDeveloperと呼ばれます。私はそのメソッドを更新する必要がありますが、私は何もしたくありません。それは私がジェネリック/ダイナミックを意味するものです。

+0

質問したい* 1つの質問*とは何ですか?あなたがそれを理解したなら、それを明確にするコードを示してください。あなたの現在の質問は理解できません。 –

+0

私は複数のオブジェクト(クライアント、製品など...)を含むgenartated entitesを持っています。オブジェクト(クライアントまたは製品かそのいずれか)がそのオブジェクトのリストを返すメソッドを作成しようとしています – IKeepForgettingAccsMail

答えて

0

OfTypeクエリはあなたが望むものでしょうか?私はあなたの質問をはっきりと理解していませんが、このクエリは指定されたタイプのオブジェクトのリストをフィルタリングします。

+0

いいえ、 &linqクエリは、DbEntity.Clientのようなエンティティ内の特定のオブジェクトを必要とするオブジェクトを受け付けませんDbEntity.Objectのような一般的なクエリですが、それは動作しませんので、私は周りの方法を見つけようとしていますエンティティ内のオブジェクトを追加/削除する場合にコードを変更することなく – IKeepForgettingAccsMail

0

私はあなたの究極の目標が何であるかを理解していませんが、私はあなたがDbSet.Set()方法に見ていることを示唆している:

あなたは、あなたのターゲット表に応じて、このContext.Set<Singer>()またはContext.Set<Client>()のようにそれを使用することができます。

これは最も一般的なものです。より多くのコードを表示して、シナリオをより明確にしてみてください。