我应该在何时/何时创建datacontext?

时间:2015-08-24 13:49:11

标签: c# entity-framework mvvm

在我的项目中,我希望用户选择数据提供者并选择他自己的数据库文件(如果存在);

问题是,当我启动应用程序时,如果数据库不存在,它会崩溃并以静默方式进行,因为每个ServiceClass都有DbContext的实例。     我使用mvvm light + simpleIoc,我想要:

-check database:

如果存在===>主窗口;

如果不是===> DbCon窗口;

- 管理ViewModelLocator或创建启动画面? 什么是最好的做法;

以及如何在后台制作DbContext;

  public class ViewModelLocator : INotifyPropertyChanged
        {
            //DbContext
            DbCon db = new DbCon();

            // ViewModel of Database connection window
            private DbConViewModel _dbConViewModel;

            //ViewModel for Main window
            public MainViewModel Main { get; set; }

            //
            public static ViewModelLocator Instance
            {
                get { return Application.Current.Resources["Locator"] as ViewModelLocator; }
            }

            //Constractor
            public ViewModelLocator()
            {
                if (db.Database.Exists())
                {
                    Main = new MainViewModel(DialogCoordinator.Instance, new PeopleService(), new StatusService(),
                        new UserService());
                }
                else
                {
                    //I want show database connection Windows without Freezing
                    _dbConViewModel = new DbConViewModel();
                }             
            }
         }

对不起我可怕的英语^ _ ^谢谢你

0 个答案:

没有答案