public DataContext([NotNull] UnitOfWorkConfig configuration, [NotNull] Lazy<IDataSession> session, [NotNull] ITerminationPolicy terminationPolicy)
{
if (configuration == null)
{
throw new ArgumentNullException("configuration");
}
if (session == null)
{
throw new ArgumentNullException("session");
}
if (terminationPolicy == null)
{
throw new ArgumentNullException("terminationPolicy");
}
this.configuration = configuration;
this.session = session;
this.terminationPolicy = terminationPolicy;
extra = new ExpandoObject();
((dynamic)extra).Extensions = new Dictionary<string, object>();
}