【发布时间】:2015-07-18 23:43:45
【问题描述】:
我有一个实体类作为城市。
[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"));
线。谁能解释为什么我会得到这个异常并导致解决方案?
【问题讨论】:
-
异常信息是什么?
-
它说“序列不包含任何元素”。但我调试了数据库连接已成功完成,并且有一个集合是“城市”。
-
@vedat 这意味着
collection没有等于“VIENNA”的元素。请改用FirstOrDefault。 -
@MártonMolnár 感谢您的回答。我认为第一个文件的城市字段是“维也纳”,但我知道第一个功能的功能是不同的。所以我用_id查询。
-
@Sohaty 感谢您的回答。
标签: c# linq mongodb asqueryable