我有一个UWP Windows 10应用程序,我想知道如何使用SQLite安装Entity Framework或Entity Framework Core来将数据库存储在本地App_Data
目录中。 NuGet搜索有点令人困惑,因为列出了很多版本,似乎没有一个特定于UWP。
答案 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
以下是我遇到的一些警告:
我必须更新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)