DataType, возвращаемый запросом linq asp.net - PullRequest
2 голосов
/ 07 мая 2011

Я хочу сделать публичную функцию с несколькими объединениями таблиц в запросе LINQ. Какой будет тип данных функции, возвращаемой функцией.

спасибо

Ответы [ 3 ]

4 голосов
/ 07 мая 2011

Однако существует много возможных вариантов, самое простое решение - использовать object тип данных.

/// your public method
public object GetProducts()
{
    // your complex query
    // then return the anonymous type
    retutn query.ToList();
}

Затем свяжите этот объект непосредственно с сеткой.

gridView1.DataSource = myObject.GetProducts();
gridView1.DataBind();
2 голосов
/ 07 мая 2011

В дополнение к ответу Фрезелла: если вы хотите, чтобы ваш запрос имел известный тип возвращаемого значения, это вполне возможно:

Вам нужно будет создать простой класс, скажем Result, со свойствами, которые вы хотитевключить в результат запроса:

public class Result
{
    public string Name
    {
        get;
        set;
    }
}

, а затем, вместо создания анонимного типа, например: select new {Name = ...}, вы можете создать именованный тип, например: select new Result {Name = ...}.Тогда результат запроса становится IQueriable<Result>.Если вы позвоните .ToList(), он станет List<Result>, и, позвонив .Single(), вы получите простой Result

0 голосов
/ 07 мая 2011

Это будет тип объекта, полученный в результате вашего звонка.Так что если ваша функция вернет объект типа string, то это будет строка.

LINQ использует анонимных типов , так что он может быть того же типа, что и объекты ввыражение.Новые типы также могут создаваться динамически, если это необходимо.

Возможно, вы захотите просмотреть MSDN на LINQ .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...