簡體   English   中英

如何在C#mongo驅動程序中設置復數集合名稱?

[英]How to set plural collection name in C# mongo driver?

我正在使用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);

它會正確地以復數的人客戶客戶就像上面的例子。 它與實體框架多元化所使用的機制相同。

我遇到了同樣的問題,因此我圍繞.NET MongoDB驅動程序編寫了一個簡單的包裝程序,以自動執行對象到集合名稱的映射。 它在后台使用System.Data.Entity.Design.PluralizationServices ,因此它不依賴任何外部依賴項。 它可以為您節省幾行代碼。

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM