Определите тип объекта, который будет использоваться для хранения запроса Linq - PullRequest
0 голосов
/ 03 июля 2010

Я использую для этого VB .Net, поэтому у меня нет доступа к var, иначе это будет просто.

Прямо сейчас мой запрос выглядит следующим образом

Dim errors As IOrderedQueryable(Of IGrouping(Of String, RSError)) = (From e In db.RSErrors 
                                                                     Where e.UserID = "msarchet" 
                                                                     Group e By e.Type Into t = Group).AsEnumerable

Поэтому я использовал этот запрос в LinqPad, чтобы определить, как будет выглядеть объект. Я получил IOrderQueryable(Of RSError), который затем содержал IGrouping(Of String, RSError) для каждой сгруппированной коллекции объектов, возвращаемых запросом.

Однако в результате я получил текущий тип объекта errors как IOrderedQueryable(Of IGrouping(Of String, RSError)) из-за ошибки приведения, которую я получаю в VS.

Невозможно привести объект типа 'System.Data.Linq.DataQuery 1[VB$AnonymousType_1 2 [System.String, System.Collections.Generic.IEnumerable 1[RSSAdmin2.RSError]]]' to type 'System.Linq.IOrderedQueryable 1 [System.Linq.IGrouping 2[System.String,RSSAdmin2.RSError]]'.

Я не уверен, как избавиться от части VB $ AnonymousType_1 возвращаемого объекта.

Я даже на правильном пути или я что-то упустил полностью?

1 Ответ

1 голос
/ 03 июля 2010

Можете ли вы попробовать следующее

Dim errors = (From e In db.RSErrors 
              Where e.UserID = "msarchet" 
              Group e By e.Type Into t = Group).AsEnumerable

При этом способе в основном устанавливается значение

Dim error As Object [Независимо от выражения, возвращаемого]

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