我正在尝试使用此代码从#collection; Symbole"中获取数据
class Program
{
static void Main(string[] args)
{
try
{
MainAsync(args).Wait();
}
catch (Exception e)
{
Console.WriteLine(e);
}
Console.WriteLine("Press Enter");
Console.ReadLine();
}
static async Task MainAsync(string[] args)
{
string uri = "mongodb://Host:Port/DBName";
var client = new MongoClient(uri);
var db = client.GetDatabase("DBName");
var col = db.GetCollection<BOSBourse>("TableName");
var list = await col.Find(new BsonDocument()).ToListAsync();
foreach (var doc in list)
{
Console.WriteLine(doc);
}
}
class BOSBourse
{
public ObjectId ID { get; set; }
public string Name { get; set; }
public string Price { get; set; }
}
}
但它引发了一个例外:
未处理的类型&#39; System.AggregateException&#39;发生在mscorlib.dll
其他信息:发生了一个或多个错误。
添加try / catch后,我发现了一个很大的例外:
System.AggregateException:发生了一个或多个错误。 ---&GT; System.FormatException:Element&#39; _id&#39;与MongoDBCRUD.Program + BOSBourse类的任何字段或属性都不匹配。 在MongoDB.Bson.Serialization.BsonClassMapSerializer`1.DeserializeClass(BsonDeserializationContext context)
[...]
在System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务任务) 在System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务) 在System.Runtime.CompilerServices.TaskAwaiter`1.GetResult() 在MongoDBCRUD.Program.d__1.MoveNext()在C:\ Users \ amin- \ Documents \ Visual Studio 2015 \ Projects \ MongoDBCRUD \ MongoDBCRUD \ Program.cs:第60行&lt; ---
如果我修改了以下事件:
public ObjectId ID { get; set; }
要
public int ID { get; set; }
仍然出现相同的错误。
更新(解决方案)
在BOSBourse课程中,只需将价格类型从字符串修改为双