【发布时间】:2019-11-10 16:49:23
【问题描述】:
我的模型中有以下对象:
[BsonId]
[BsonRepresentation(BsonType.ObjectId)]
public string Id { get; set; }
[BsonElement("Name")]
[BsonRepresentation(BsonType.String)]
public string Name { get; set; }
[BsonElement("Price")]
[BsonRepresentation(BsonType.Double)]
public double Price { get; set; }
[BsonElement("Type")]
[BsonRepresentation(BsonType.Array)]
public string[] Type { get; set; }
当我尝试使用 => 将新对象插入数据库时
MongoCollection.InsertOne(object);
出现以下错误
System.TypeInitializationException: The type initializer for 'OrdisTT.Libs.MongoLib' threw an exception.
---> System.ArgumentException: GenericArguments[0], 'System.Array', on 'MongoDB.Bson.Serialization.Serializers.EnumerableInterfaceImplementerSerializer`1[TValue]' violates the constraint of type 'TValue'.
---> System.TypeLoadException: GenericArguments[0], 'System.Array', on 'MongoDB.Bson.Serialization.Serializers.EnumerableInterfaceImplementerSerializer`1[TValue]' violates the constraint of type parameter 'TValue'.
at System.RuntimeTypeHandle.Instantiate(Type[] inst)
at System.RuntimeType.MakeGenericType(Type[] instantiation)
--- End of inner exception stack trace ---
如何将数组属性映射到 mongodb 数组?
【问题讨论】:
-
你能检查一下 .NET 端类型是否为
List<string>是否正常工作? -
github.com/mongodb/mongo-csharp-driver/blob/… 看起来数组在测试中被表示为字符串 ([BsonRepresentation(BsonType.String)])
标签: c# arrays database mongodb bson