我使用的是MongoDB默认的C#驱动程序。在我的代码中,我创建了一个名为Customer的实体(集合)。 是否有默认约定或类属性将在MongoDB中设置我的集合名称的复数版本(' customers')?
答案 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
,因此它不依赖于任何外部依赖。它可以为您节省几行代码。