如何在c# mongo驱动程序中设置复数集合名称
本文关键字:集合 设置 mongo 驱动程序 | 更新日期: 2023-09-27 18:11:00
我使用MongoDB默认的c#驱动程序。在我的代码中,我创建了一个名称为Customer的实体(集合)。是否有一个默认的约定或类属性,将设置我的集合名称在MongoDB('客户')的复数版本?
我没有发现任何,所以我使用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