protected override void OnStartup(StartupEventArgs e) { // Specify where Entity Framework should look for the Northwind database. string folder = Path.GetFullPath(Path.Combine(Path.GetDirectoryName(Assembly.GetEntryAssembly().Location), @"..\..\..\..\Data")); string dbFile = Path.Combine(folder, "Northwnd.mdf"); AppDomain.CurrentDomain.SetData("DataDirectory", folder); if (!File.Exists(dbFile)) { throw new Exception("Sample database Northwnd.mdf must be created in the Data folder. Run the CreateSampleDB utility to create the Northwind database"); } // make sure both version 11 and version 12 or higher of SQLServer LocalDb are supported Microsoft.Win32.RegistryKey key = Microsoft.Win32.Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\Microsoft SQL Server Local DB\Installed Versions\12.0"); string ver = key == null ? "v11.0" : "MSSQLLocalDB"; Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None); var connStr = config.ConnectionStrings.ConnectionStrings["NORTHWNDEntities"]; connStr.ConnectionString = connStr.ConnectionString.Replace("v11.0", ver); config.Save(ConfigurationSaveMode.Modified, true); ConfigurationManager.RefreshSection("connectionStrings"); base.OnStartup(e); // Get a global ClientCache and save it in a static field // so it is accessible from any class of the project. ClientCache = EntityClientCache.GetDefault(typeof(NORTHWNDEntities)); }
static void Main() { // Specify where should Entity Framework look for the Northwind database. string folder = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\ComponentOne Samples\Common"; string dbFile = Path.Combine(folder, "Northwnd.mdf"); AppDomain.CurrentDomain.SetData("DataDirectory", folder); if (!File.Exists(dbFile)) { throw new Exception("Sample database Northwnd.mdf must be created in the Common folder. Run the CreateSampleDB utility to create the Northwind database"); } // make sure both version 11 and version 12 or higher of SQLServer LocalDb are supported var config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None); var connStr = config.ConnectionStrings.ConnectionStrings["NORTHWNDEntities"]; connStr.ConnectionString = connStr.ConnectionString.Replace("v11.0", GetLocalDBInstance()); config.Save(ConfigurationSaveMode.Modified, true); ConfigurationManager.RefreshSection("connectionStrings"); // Get a global ClientCache and save it in a static field // so it is accessible from any class of the project. ClientCache = EntityClientCache.GetDefault(typeof(NORTHWNDEntities)); Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new MainForm()); }