Wie Prädikat in String und String zu Prädikat konvertieren

c# c#-4.0 expression-trees lambda linq

Frage

Ich arbeite an einem speziellen Projekt, das Prädikate (oder Ausdrücke) in Zeichenfolge konvertieren und in der Datenbank speichern und abrufen und in Prädikate konvertieren und auswerten muss, weil ich es in der Laufzeit ändern möchte. Bitte helfen Sie mir ConvertStringToPredicate und ConvertStringToPredicate Methoden zu implementieren.

public class Program
{
    static void Main(string[] args)
    {
        string predicateStr = GetPredicateFromDb(100);

        Predicate<Account> predicate = ConvertStringToPredicate(predicateStr);

        Account account = new Account();

        var status = account.Evaluate(predicate);

        //...
    }

    public static string GetPredicateFromDb(int id)
    {
        //Get Predicate String From Database
        //...
    }

    public static Predicate<Account> ConvertStringToPredicate(string predicate)
    {
        //???
    }

    public static string ConvertStringToPredicate(Predicate<Account> predicate)
    {
        //???
    }
}

public class Account
{
    public decimal Balance { get; set; }

    public bool Evaluate(Predicate<Account> matchingCriteria)
    {
        //Evaluate Predicate
        //...
    }  
}

Beliebte Antwort

Es gibt mehrere Bibliotheken für die Serialisierung von Ausdrucksbäumen:

  1. Metalinq
  2. Ausdruck Baum Serialisierer
  3. linq serialisieren


Lizenziert unter: CC-BY-SA with attribution
Nicht verbunden mit Stack Overflow
Ist diese KB legal? Ja, lerne warum
Lizenziert unter: CC-BY-SA with attribution
Nicht verbunden mit Stack Overflow
Ist diese KB legal? Ja, lerne warum