Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 重新创建的Database.com似乎不是';正在创建数据库(xamarin.forms)_C# - Fatal编程技术网

C# 重新创建的Database.com似乎不是';正在创建数据库(xamarin.forms)

C# 重新创建的Database.com似乎不是';正在创建数据库(xamarin.forms),c#,C#,我正在制作一个简单的应用程序,使用EntityFramework和Sqlite作为数据库,将此人添加并保存到数据库中,然后将其添加到列表视图中,或者将其删除 我有一个Db类,在构造函数方法中,我使用了名为 数据库。重新创建() 使我的数据库。在MainPage.xaml.cs中,我创建了一个Db类(Db)的实例,我希望获取数据库中的所有Workers表,并将其作为ListView的ItemSource传递。我还在OnAppearing()方法中执行这些操作,以在启动时显示我的ListView项,

我正在制作一个简单的应用程序,使用EntityFrameworkSqlite作为数据库,将此人添加并保存到数据库中,然后将其添加到列表视图中,或者将其删除

我有一个Db类,在构造函数方法中,我使用了名为

数据库。重新创建()

使我的数据库。在MainPage.xaml.cs中,我创建了一个Db类(Db)的实例,我希望获取数据库中的所有Workers表,并将其作为ListView的ItemSource传递。我还在
OnAppearing()
方法中执行这些操作,以在启动时显示我的ListView项,但我面临以下异常错误:

Microsoft.Data.Sqlite.SqliteExceptions:'Sqlite错误1:'没有这样的表:Workers'。

(见下图)

似乎
数据库.EnsureCreated()
没有创建我的数据库。 或者它创建了我的数据库,但由于某些原因它无法创建表,我想知道这些原因

下面是我的Db类:

这是我的db_路径: 安卓系统

        string FileName = "Workers.sqlite";
    string FileLocation = System.Environment.GetFolderPath(System.Environment.SpecialFolder.Personal);
    string db_path = Path.Combine(FileLocation, FileName);
            string FileName = "Workers.sqlite";
        string FileLocation = Path.Combine(System.Environment.GetFolderPath(System.Environment.SpecialFolder.Personal), "..", "Library");
        string db_path = Path.Combine(FileLocation, FileName);
以及iOS

        string FileName = "Workers.sqlite";
    string FileLocation = System.Environment.GetFolderPath(System.Environment.SpecialFolder.Personal);
    string db_path = Path.Combine(FileLocation, FileName);
            string FileName = "Workers.sqlite";
        string FileLocation = Path.Combine(System.Environment.GetFolderPath(System.Environment.SpecialFolder.Personal), "..", "Library");
        string db_path = Path.Combine(FileLocation, FileName);

那么,数据库和表的创建有什么问题吗?

我刚刚在这些行中添加了
,使用了
关键字,它意外地修复了它

(我还删除了一些db_路径变量,并通过从App类中获取,使db_路径源更干净、更流畅)

现在代码如下所示:

        using (Db db = new Db(App.db_path))
        {
            List<Worker> AllWorkers = db.Workers.ToList();
            WorkersListView.ItemsSource = AllWorkers;
        }
使用(Db=newdb(App.Db\u路径))
{
List AllWorkers=db.Workers.ToList();
WorkersListView.ItemsSource=所有工人;
}

我刚刚使用
关键字在这些行中添加了
,它意外地修复了它

(我还删除了一些db_路径变量,并通过从App类中获取,使db_路径源更干净、更流畅)

现在代码如下所示:

        using (Db db = new Db(App.db_path))
        {
            List<Worker> AllWorkers = db.Workers.ToList();
            WorkersListView.ItemsSource = AllWorkers;
        }
使用(Db=newdb(App.Db\u路径))
{
List AllWorkers=db.Workers.ToList();
WorkersListView.ItemsSource=所有工人;
}
检查。检查。