如何为UWP Windows 10安装Entity Framework和SQLite?

时间:2018-04-27 20:51:15

标签: c# entity-framework sqlite uwp

我有一个UWP Windows 10应用程序,我想知道如何使用SQLite安装Entity Framework或Entity Framework Core来将数据库存储在本地App_Data目录中。 NuGet搜索有点令人困惑,因为列出了很多版本,似乎没有一个特定于UWP。

3 个答案:

答案 0 :(得分:1)

我知道老帖子,但是我花了两天的时间来尝试获取一个使用Entity Framework Core 3和SQLite的WinForms应用程序,以防它对某人有所帮助:

请注意,我所有与SQLlite相关的代码都在一个类库项目中,该项目已被WinForms UI主项目引用。我发现我还必须在WinForms项目中添加“ SQLitePCLRaw.bundle_e_sqlite”程序包引用 (因为SQLitePCLRaw.core.dll的搜索路径与主可执行文件相关,而不与主可执行文件相关。数据库子项目)

答案 1 :(得分:0)

为UWP / Windows 10 NuGet以下包:

Microsoft.EntityFrameworkCore
Microsoft.EntityFrameworkCore.Sqlite
Microsoft.EntityFrameworkCore.Tools

安装NuGet包后的C#代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace App1.Database
{
    public class Account
    {
        public int    Id   { get; set; }
        public string User { get; set; }
        public string Pass { get; set; }
    }

    public class App1Db : Microsoft.EntityFrameworkCore.DbContext
    {
        Microsoft.EntityFrameworkCore.DbSet<Account> Account;
    }
}

答案 2 :(得分:0)

经过反复试验,这个更新的MS Doc(10/12/2018)达到了目的:

https://docs.microsoft.com/en-us/ef/core/get-started/uwp/getting-started

  • 您将必须将Windows 10更新到内部版本16229。
  • Visual Studio必须更新到15.7 +
  • .Net Core 2.1 SDK

以下是我遇到的一些警告:

  • 我必须更新Win10才能构建17763

  • 我的UWP应用。 HAD 以最低版本的Fall Creators Update定位到版本17763

  • 项目参考:文档使这种方式变得令人困惑。简而言之,您的.Net Core EF迁移控制台项目引用了.Net标准EF模型库项目,而UWP应用程序项目引用了.Net标准EF模型库项目。

  • 确保您的任何项目(SQLitePCLRaw,Microsoft.Data.SQLite.Core等)中都没有任何SQLite开源库。

  • 最后一件事:我将所有Microsoft.EntityFrameworkCore库下载到我的模型库项目 AND System.ComponentModel.Annotations中(您将需要用它来装饰架构的PK)