如何在c# mongo驱动程序中设置复数集合名称

本文关键字:集合 设置 mongo 驱动程序 | 更新日期: 2023-09-27 18:11:00

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

如何在c# mongo驱动程序中设置复数集合名称

我没有发现任何,所以我使用Humanizer库来复数化名称。实际上我更进一步,使用类型本身来创建一个集合:

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

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

你可以这样使用:

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

它会像上面的例子一样正确地将Person复数化为People或将Customer复数化为Customers

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

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