Files
RavenDB.Identity/Sample/Extensions/RavenExtensions.cs
T
2018-11-08 11:37:47 -06:00

33 lines
917 B
C#

using Raven.Client.Documents;
using Sample.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
namespace Sample.Extensions
{
public static class RavenExtensions
{
public static IDocumentStore EnsureExists(this IDocumentStore store)
{
try
{
using (var dbSession = store.OpenSession())
{
dbSession.Query<AppUser>().Take(0).ToList();
}
}
catch (Raven.Client.Exceptions.Database.DatabaseDoesNotExistException)
{
store.Maintenance.Server.Send(new Raven.Client.ServerWide.Operations.CreateDatabaseOperation(new Raven.Client.ServerWide.DatabaseRecord
{
DatabaseName = store.Database
}));
}
return store;
}
}
}