Возвращаемым типом будет коллекция AnonymousType
, где каждый элемент представляет класс со следующими свойствами:
id
(с типом r.STEWARDSHIP_ID)
name
(с типом r.SITE.SITE_NAME)
visit_date
(с типом r.VISIT_DATE)
visit_type
(с типом r.VISIT_TYPE_VAL.VISIT_TYPE_DESC)
Затем вы можете просмотреть элементы, используя цикл foreach
:
foreach(var item in visits)
{
string visitInfo = String.Format(
CultureInfo.InvariantCulture,
"Id: {0}, Name: {1}, Date: {2}, Type: {3}",
item.id,
item.name,
item.visit_date,
item = visit_type);
Debug.WriteLine(visitInfo);
}
Если вам нужно вернуть результаты запроса из метода, вы можете ввести новый класс, который представляет эти свойства:
// TODO: update types of the properties
class VisitDetails
{
public string Id { get; private set; }
public string Name { get; private set; }
public DateTime VisitDate { get; private set; }
public string VisitType { get; private set; }
}
И обновить запрос для создания экземпляров VisitDetails, а не анонимного типа:
.Select(r => new VisitDetails
{
Id = r.STEWARDSHIP_ID,
Name = r.SITE.SITE_NAME,
VisitDate = r.VISIT_DATE,
VisitType = r.VISIT_TYPE_VAL.VISIT_TYPE_DESC
});
Таким образом, тип возвращаемого значения будет IEnumerable<VisitDetails>
, поэтому вы легко можете даже вернуть результаты самого запроса из метода, указав также точный тип возвращаемого значения, так что код будет очень чистым.
Подробнее см. Инициализаторы объектов с анонимными типами .