.NET Core 查詢 MongoDB異常消息
Element '_class' does not match any field or property of class WebApiServer.Model.Enity.Ypxxx.
圖中寫的修改實際是查詢分頁出現的異常,異常是查詢轉換為List<T>時出現的:?
這個錯誤通常發生在MongoDB文檔中包含的字段(如'_class')與C#實體類中定義的屬性不匹配時?。以下是幾種解決方案:
1、使用[BsonIgnoreExtraElements]特性忽略未映射的字段
[BsonIgnoreExtraElements]
public class Ypxxx
{
// 類屬性定義
}
2、如果'_class'字段是必要的,可以在實體類中添加對應屬性
public class Ypxxx
{
[BsonElement("_class")]
public string Class { get; set; }
// 其他屬性
}
3、全局配置忽略額外元素(適用于整個項目)?
ConventionRegistry.Register("IgnoreExtraElements",?
new ConventionPack { new IgnoreExtraElementsConvention(true) },?
t => true);
這個錯誤表明MongoDB文檔結構可能與你的實體類不完全匹配?。建議檢查:
數據庫文檔實際包含的字段
實體類屬性是否使用正確的Bson特性標注
是否需要保留'_class'字段(常見于某些ORM框架)
本文為了方便省時省力,使用方案1解決?
在實體類上添加特性忽略未映射的字段:?
在運行調試即可成功:
其主要原因是由于MongoDB數據庫集合中含有_class屬性,而實體中并沒有此屬性造成的異常:
至此,異常解決,程序運行正常。
如果您喜歡此文章,請收藏、點贊、評論,謝謝,祝您快樂每一天。?