2016-04-19 10 views
0

bearbeiten
Um zu verstehen, was ich gebe zu tun, versuche ich ein Beispiel
Sie Entity Framework Angenommen verwendet, um mehrere Tabellen zu erzeugen. Jetzt haben Sie MyDbEntities mit Objekten (Client, Benutzer, Produkt, Sänger [Attribute sind nicht wichtig]). Jetzt erstellen Sie eine Methode. Diese Methode ruft ein Objekt als Parameter + MyDbEntities ab. Das Objekt wäre Kunde, Benutzer, Produkt, Sänger. In dieser Methode haben Sie eine Abfrage, dass das Objekt eine Liste dieses Objekts zurückgeben würde. Ich versuche, diese Methode zu schaffen, aber ich versuche immer noch entweder mit Linq oder Sql aber vergeblich bisher
aktualisiert
Ich versuche dies, es funktioniert, aber nicht so, wie ich will es. Um mich zu verstehen, überprüfen Sie den Code unten.
Linq-Abfrage, die ein beliebiges Objekt im Modell wählt

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

dies, wie ich kann meine Methode unter meiner Methode

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; 
    } 

ist, wie Sie diese Methode überprüft gegeben, das Objekt sehen und erstellt und gibt eine Liste der Objekte dieser given_entity_type. Hier gebe ich das erste Element zurück, nur weil ich das für Tests mache.
jetzt angenommen, dass ich ein neues Objekt hinzufügen MyDbEntities & nennen Sie es Developer ich müsste diese Methode aktualisieren, aber ich möchte nicht, dass ich etwas Generisches, das auf jedes Objekt funktionieren würde ich gebe es, dass in MyDbEntities existiert. das meine ich mit generic/dynamic.

+0

Was ist die * einzige Frage *, die Sie stellen möchten? Wenn Sie das herausgefunden haben, zeigen Sie bitte den Code, um es zu klären. Ihre aktuelle Frage ist unverständlich. –

+0

Ich habe genarated entites, die mehrere Objekte enthalten (Client, Produkt, etc ...) Ich versuche, eine Methode zu erstellen, die das Objekt (Client oder Produkt oder whichver) zurückgegeben würde eine Liste dieses Objekts – IKeepForgettingAccsMail

Antwort

0

Würde die OfType Abfrage sein, was Sie wollen? Ich bin mir nicht sicher, ob ich Ihre Frage klar verstehe, aber diese Abfrage wird die Liste der Objekte nach dem angegebenen Typ filtern.

+0

nein, ich habe mehrere Objekte & die linq-Abfrage akzeptiert kein Objekt, es benötigt ein spezifisches Objekt in der Entität wie DbEntity.Client, was ich tun möchte, ist eine generische Abfrage wie DbEntity.Object, aber es funktioniert nicht, also versuche ich einen Weg herum zu finden ohne den Code ändern zu müssen, wenn ich Objekte in der Entität hinzufüge/lösche – IKeepForgettingAccsMail

0

Obwohl ich verstehe nicht, was Ihr Ziel ist, würde ich vorschlagen, dass Sie in DbSet.Set() Methode aussehen:

Sie können dann verwenden, wie es diese Context.Set<Singer>() oder Context.Set<Client>() auf Ihrer Zieltabelle abhängig.

Das ist das allgemeinste, das Sie bekommen können. Versuchen Sie, mehr Code anzuzeigen, um Ihr Szenario zu verdeutlichen.

Verwandte Themen