Динамическое соединение Linq Select - PullRequest
1 голос
/ 14 октября 2010

У меня есть динамический оператор выбора, таким образом:

"new (PurchaseOrderID as ID_PK, PContractNo + GoodsSupplier.AssociatedTo.DisplayName as Search_Results)"

Как видно, я хочу объединить поля 'PContractNo' и 'GoodsSupplier.AssociatedTo.DisplayName' в одно возвращенное поле с именем Search_Results. Важно, чтобы эти два поля были объединены.

Однако библиотека Linq жалуется на «+», который анализатор выражений возвращает как «Concat (и т. Д.)», Который, конечно, не может быть преобразован в выражение хранилища.

Очевидно, поэтому я хотел бы получить некоторую помощь относительно того, как я должен отформатировать строку выбора, чтобы делать то, что я хочу. Я перепробовал много вещей!

Любая помощь будет принята с благодарностью!

Спасибо, Ян Мак

1 Ответ

0 голосов
/ 13 июня 2011

Создать новый класс, как

public class A
{
    public String k;
    public String v;

}

и используйте linq для присоединения

res = from a in list
select new A
{
  k = a.Key,
  v = String.Concat(a.Key,a.Value)
};
...