18 lines
646 B
C#
18 lines
646 B
C#
using MongoDB.Entities;
|
|||
|
|
|
||
|
|
namespace PrivaPub.Infrastructure.Data
|
||
|
|
{
|
||
|
|
public static class EntityMaps
|
||
|
|
{
|
||
|
|
public static void Warm()
|
||
|
|
{
|
||
|
|
var collection = typeof(DB).GetMethods()
|
||
|
|
.Single(m => m.Name == nameof(DB.Collection) && m.IsGenericMethodDefinition && m.GetParameters().Length == 0);
|
||
|
|
var entities = typeof(EntityMaps).Assembly.GetTypes()
|
||
|
|
.Where(t => t is { IsClass: true, IsAbstract: false, IsGenericTypeDefinition: false } && typeof(IEntity).IsAssignableFrom(t))
|
||
|
|
.OrderBy(t => t.FullName, StringComparer.Ordinal);
|
||
|
|
foreach (var entity in entities)
|
||
|
|
collection.MakeGenericMethod(entity).Invoke(DB.Default, null);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|