1 //---------------------------------------------------------------------
2 // <copyright file="ObjectContext.cs" company="Microsoft">
3 // Copyright (c) Microsoft Corporation. All rights reserved.
7 // @backupOwner Microsoft
8 //---------------------------------------------------------------------
10 using System.Collections.Specialized;
11 using System.Configuration;
13 namespace System.Data.Entity.Util
15 internal static class AppSettings
17 private static volatile bool _settingsInitialized = false;
18 private static object _appSettingsLock = new object();
19 private static void EnsureSettingsLoaded()
21 if (!_settingsInitialized)
23 lock (_appSettingsLock)
25 if (!_settingsInitialized)
27 NameValueCollection settings = null;
30 settings = ConfigurationManager.AppSettings;
34 if (settings == null || !Boolean.TryParse(settings["EntityFramework_SimplifyLimitOperations"], out _SimplifyLimitOperations))
36 _SimplifyLimitOperations = false;
39 if (settings == null || !Boolean.TryParse(settings["EntityFramework_SimplifyUserSpecifiedViews"], out _SimplifyUserSpecifiedViews))
41 _SimplifyUserSpecifiedViews = true;
44 _settingsInitialized = true;
51 private static bool _SimplifyLimitOperations = false;
52 internal static bool SimplifyLimitOperations
56 EnsureSettingsLoaded();
57 return _SimplifyLimitOperations;
61 private static bool _SimplifyUserSpecifiedViews = true;
62 internal static bool SimplifyUserSpecifiedViews
66 EnsureSettingsLoaded();
67 return _SimplifyUserSpecifiedViews;