MongoDB C#驱动程序数组子文档lambda表达式

时间:2014-02-26 12:04:35

标签: c# mongodb lambda

这是我的序列化c#对象的样子(当然是简化的例子):

public class SerializedObject
{
    public string _id { get; set; }

    [BsonDictionaryOptions(DictionaryRepresentation.Document)]
    [StoreAs("D")]
    public Dictionary<string, Metric> Daily { get; set; }
}

Metric对象:

public class Metric
{
    [StoreAs("CT")]
    public int Count { get; set; }
}

我正在尝试做什么:

var update = Update<SerializedObject>.Inc(x => x.Daily["2"].Count, 1);

抛出错误,NotSupportedException:

Unable to determine the serialization information for the expression: (SerializedObject x) => x.Daily.get_Item("2").Count.

是否正如异常的名称所说,10gen的MongoDB C#驱动程序尚未实现?有没有办法做这样的事情而不是对字段的实际“字符串化”名称进行无类型更新? (这将是:

Update.Inc("D.2.CT", 1);

感谢。

1 个答案:

答案 0 :(得分:2)

我从mongodb的谷歌小组得到了答案:

  

craiggwilson:   是的,这是一个未实现的功能。请在此处查看功能请求:https://jira.mongodb.org/browse/CSHARP-917