use*_*558 7 c# mongodb mongodb-.net-driver
我搜索一种方法,将使用可读名称("类别")定义的Bson对象映射到短名称("ct"),并限制主文档库中项目名称占用的空间.我已经看到这个使用其他驱动程序,但如何使用官方驱动程序.我怎么做,哪里是最好的定义地点.可以在查询中使用长名并检索短内容吗?
谢谢.
Bry*_*isi 22
既然没有人真正给出问题的答案,那么就是这样.
使用官方驱动程序,您可以通过使用BsonElement修饰属性名称来完成此操作.例如:
public class SomeClass
{
public BsonObjectId Id { get; set; }
[BsonElement("dt")]
public DateTime SomeReallyLongDateTimePropertyName { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
现在驱动程序将使用"dt"作为BSON属性名称.
但是,此时无法使用POCO属性名称进行查询.您需要在查询中使用"dt".有一个独立的项目构建在C#驱动程序之上,提供LINQ样式查询功能,但我还没有测试它以验证它是否能满足您的要求.
保持模型清洁更好.MongoDB.Driver允许在外面执行.
BsonClassMap.RegisterClassMap<SomeClass>(x =>
{
x.AutoMap();
x.GetMemberMap(m => m.SomeReallyLongDateTimePropertyName).SetElementName("dt");
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6817 次 |
| 最近记录: |