Получение InvalidOperationException при выполнении запросов с AsQueryable в C#

У меня есть класс сущности как Город.

 [BsonRepresentation(MongoDB.Bson.BsonType.ObjectId)]
        public string _id { get;  set; }
        public string city { get; set; }
        public Array loc { get; set; }
        public double pop { get; set; }
        public string state { get; set; }

и я хочу создать простой запрос с классом AsQueryable(). Вот мой код запроса

string dbName = dao.dbName();
var db = mongo.GetDatabase(dbName);

using (mongo.RequestStart(db))
{
       var collection = db.GetCollection<City>("city");
       var query = collection.AsQueryable().First(c => c.city.Equals("VIENNA"));

       Console.WriteLine( query.ToString());
}

Когда я запускаю код, я получаю System.InvalidOperationException, как это

Произошло необработанное исключение типа "System.InvalidOperationException" в System.Core.dll

в

var query = collection.AsQueryable().First(c => c.city.Equals("VIENNA"));

линия. Может кто-нибудь объяснить, почему я получаю это исключение и привести к решению?

1 ответ

Решение

Метод First ищет первый результат, который соответствует выражению, переданному в качестве аргумента. Когда он не найдет ничего, он выдаст это исключение. Если вы не уверены, что последовательность содержит искомый элемент, используйте FirstOrDefault. Смотрите эту статью для хорошего резюме.

Другие вопросы по тегам