contacts
имеет тип IQueryable
, который сам реализует IEnumerable
, поэтому то, на что вы действительно смотрите, представляет собой набор контактов, а не один.Но вы пытаетесь получить доступ к определенному контакту в списке.
Вы можете либо обернуть свой метод Console.WriteLine
в цикл foreach, чтобы распечатать все контакты, например:
foreach (var contact in contacts.ToList()) // ToList will cause EF to perform the SQL query and load the complete results in a list.
{
Console.WriteLine("{0} | {1} | {2}", contact.Title, contact.FirstName, contact.LastName);
}
Если вы ищете только один контакт, вы можете использоватьлибо метод First (), Last () или Single (), который будет возвращать соответствующую сущность.
var contact = contacts.FirstOrDefault(); // Get the first contact with the specified name or a null-reference if the query has no results:
if (null != contact)
{
Console.WriteLine(...)
}