2

我有一个实体类作为城市。

 [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.Core.dll 中出现“System.InvalidOperationException”类型的未处理异常

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

线。谁能解释为什么我会遇到此异常并导致解决方案?

4

1 回答 1

2

First方法查找与作为参数传递的表达式匹配的第一个结果。当它没有找到任何东西时,它会抛出这个异常。如果您不确定该序列是否包含您要查找的元素,请使用FirstOrDefault。请参阅这篇文章以获得很好的总结。

于 2015-05-08T07:42:30.393 回答