Session: How to Customize Collection Assignment for Entities

Entities are grouped into collections on the server side. In order to determine the collection name that an entity belongs to there are special conventions which return the collection name based on the type of an entity: FindCollectionName and FindCollectionNameForDynamic.


By default a collection name is pluralized form of a name of an entity type. For example objects of type Category will belong to Categories collection. However if your intention is to classify them as ProductGroups use the following code:

store.Conventions.FindCollectionName = type =>
    if (typeof(Category).IsAssignableFrom(type))
        return "ProductGroups";

    return DocumentConventions.DefaultGetCollectionName(type);

This can become very useful when there is a need to deal with polymorphic data.