PageRenderTime 15ms CodeModel.GetById 10ms app.highlight 2ms RepoModel.GetById 1ms app.codeStats 1ms

/Source/Bifrost.RavenDb.Embeddable/ConfigurationExtensions.cs

#
C# | 41 lines | 21 code | 1 blank | 19 comment | 0 complexity | ea7ac586f7406cd2ffb180272dd515c3 MD5 | raw file
 1#region License
 2//
 3// Copyright (c) 2008-2012, DoLittle Studios and Komplett ASA
 4//
 5// Licensed under the Microsoft Permissive License (Ms-PL), Version 1.1 (the "License")
 6// With one exception :
 7//   Commercial libraries that is based partly or fully on Bifrost and is sold commercially,
 8//   must obtain a commercial license.
 9//
10// You may not use this file except in compliance with the License.
11// You may obtain a copy of the license at
12//
13//   http://bifrost.codeplex.com/license
14//
15// Unless required by applicable law or agreed to in writing, software
16// distributed under the License is distributed on an "AS IS" BASIS,
17// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18// See the License for the specific language governing permissions and
19// limitations under the License.
20//
21#endregion
22using Bifrost.Entities;
23using Bifrost.RavenDb.Embeddable;
24
25namespace Bifrost.Configuration
26{
27    public static class ConfigurationExtensions
28    {
29        public static IConfigure UsingRavenEmbedded(this IConfigure configure, string dataDirectory)
30        {
31            var entityContextConfiguration = new EntityContextConfiguration();
32            var connection = new EntityContextConnection(dataDirectory);
33            entityContextConfiguration.Connection = connection;
34            configure.Container.Bind<IEntityContextConfiguration>(entityContextConfiguration);
35            configure.Container.Bind((EntityContextConnection)entityContextConfiguration.Connection);
36            configure.Container.Bind(typeof(IEntityContext<>), typeof(EntityContext<>));
37            configure.Commands.Storage = entityContextConfiguration;
38            return configure;
39        }
40    }
41}