Pytania otagowane jako expression-trees


21
Pobieranie nazwy właściwości z wyrażenia lambda
Czy istnieje lepszy sposób na uzyskanie nazwy właściwości po przekazaniu za pomocą wyrażenia lambda? Oto, co aktualnie mam. na przykład. GetSortingInfo<User>(u => u.UserId); Działa poprzez rzutowanie go jako wyrażenia membranowego tylko wtedy, gdy właściwość jest ciągiem znaków. ponieważ nie wszystkie właściwości są łańcuchami, musiałem użyć obiektu, ale wtedy zwróciłby dla …

1
Czy Roslyn SyntaxNodes jest ponownie używany?
Przyjrzałem się Roslyn CTP i chociaż rozwiązuje problem podobny do interfejsu API drzewa wyrażeń , oba są niezmienne, ale Roslyn robi to w zupełnie inny sposób: Expressionwęzły nie mają odniesienia do węzła nadrzędnego, są modyfikowane za pomocą ExpressionVisitora, dlatego duże części można ponownie wykorzystać. SyntaxNodeZ drugiej strony Roslyn's ma odniesienie …

5
Co robi Expression.Quote (), czego Expression.Constant () nie może już zrobić?
Uwaga: znam wcześniejsze pytanie „ Jaki jest cel metody Expression.Quote w LINQ? ” , Ale jeśli przeczytasz dalej, zobaczysz, że to nie odpowiada na moje pytanie. Rozumiem, jaki jest podany cel Expression.Quote(). Jednak Expression.Constant()może być używany do tego samego celu (oprócz wszystkich celów, do których Expression.Constant()jest już używany). Dlatego nie …

4
LINQ to Entities obsługuje tylko rzutowanie typów podstawowych lub wyliczeniowych EDM z interfejsem IEntity
Mam następującą ogólną metodę rozszerzenia: public static T GetById<T>(this IQueryable<T> collection, Guid id) where T : IEntity { Expression<Func<T, bool>> predicate = e => e.Id == id; T entity; // Allow reporting more descriptive error messages. try { entity = collection.SingleOrDefault(predicate); } catch (Exception ex) { throw new InvalidOperationException(string.Format( "There …



8
Jak zastosować OrderBy w IQueryable przy użyciu nazwy kolumny ciągu w ramach ogólnej metody rozszerzenia?
public static IQueryable<TResult> ApplySortFilter<T, TResult>(this IQueryable<T> query, string columnName) where T : EntityObject { var param = Expression.Parameter(typeof(T), "o"); var body = Expression.PropertyOrField(param,columnName); var sortExpression = Expression.Lambda(body, param); return query.OrderBy(sortExpression); } Ponieważ typ OrderBy nie jest wywnioskowany z sortExpression, w czasie wykonywania muszę określić coś takiego: var sortExpression = Expression.Lambda<T, …

7
Drzewa ekspresji dla manekinów? [Zamknięte]
Zamknięte . To pytanie musi być bardziej skoncentrowane . Obecnie nie przyjmuje odpowiedzi. Chcesz poprawić to pytanie? Zaktualizuj pytanie, aby skupiało się tylko na jednym problemie, edytując ten post . Zamknięte 7 lat temu . Popraw to pytanie Jestem manekinem w tym scenariuszu. Próbowałem przeczytać w Google, co to jest, …
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.