Я знаю, что LINQ должен автоматически возвращать строго типизированные наборы результатов.Однако когда я присоединяю ObjectDataSource к методу на основе LINQ (без явного возвращаемого типа), я не получаю доступ ни к одному из столбцов, определенных в LINQ.
Пример метода:
<System.ComponentModel.DataObjectMethod(ComponentModel.DataObjectMethodType.Select)> _
Public Function GetMarketClusterList() As IEnumerable(Of MarketCluster)
Return From d In db.tblMarkets
Select New MarketCluster With {.MarketCluster = d.MarketCluster}
Distinct
End Function
Public Class MarketCluster
Public MarketCluster As String
End Class
РЕДАКТИРОВАТЬ Я изменил свой код, чтобы использовать явный тип и выбрать в него.По крайней мере, теперь я знаю тип возвращаемого значения, но это не помогает с первоначальной проблемой.Еще более странно, что с помощью отладчика я обнаружил, что если я выполняю
<% # Eval ("MarketCluser")%>, он завершается ошибкой и говорит: "Поле или свойство с именем MarketCluster не найдено в выбранном источнике данных.", но если я сделаю <% Container.DataItem.MarketCluser%>, это будет нормально!