Получение 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. Смотрите эту статью для хорошего резюме.