如何在C#mongo驱动程序中设置多个集合名称?

时间:2014-07-02 06:29:32

标签: c# .net mongodb mongodb-.net-driver

我使用的是MongoDB默认的C#驱动程序。在我的代码中,我创建了一个名为Customer的实体(集合)。 是否有默认约定或类属性将在MongoDB中设置我的集合名称的复数版本(' customers')?

3 个答案:

答案 0 :(得分:2)

我还没找到,所以我使用Humanizer库来复制名称。我实际上更进一步,使用类型本身来创建一个集合:

var customers = database.GetCollection(typeof(Customer).Name.Pluralize().ToLower());

答案 1 :(得分:0)

您可以使用System.Data.Entity.Design程序集中提供的.NET复数服务,而不是使用I3arnon建议的外部库。

你可以像这样使用它:

 var serv = PluralizationService.CreateService(new System.Globalization.CultureInfo("en-us"));
 var plural = serv.Pluralize(typeof(Person).Name);

它会正确地将 客户多元化为客户,如上例所示。它与实体框架复数化使用的机制相同。

答案 2 :(得分:0)

我遇到了同样的问题,所以我围绕.NET MongoDB驱动程序编写了一个简单的包装器,以自动化对象到集合名称映射。它使用了System.Data.Entity.Design.PluralizationServices,因此它不依赖于任何外部依赖。它可以为您节省几行代码。

如果您有兴趣:https://github.com/MikePennington/Mongonizer