【问题标题】:EFCore SqlClient error LocalDBEFCore SqlClient 错误 LocalDB
【发布时间】:2018-10-21 08:10:06
【问题描述】:

我正在使用 System.Data.SqlClient 在 UWP 项目中测试 EFCore 2.0.3。

如果我连接到 SQL Server 实例,它可以正常工作,但是当更改为 LocalDB 时,我收到错误:

此平台不支持LocalDB

我的连接字符串是这样的:

Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFileName=\Statistics.mdf;Initial Catalog=Statistics;Integrated Security=True;Connect Timeout=30

我的 LocalDB 版本是(使用 SQL Server 2016):v13.1.4001.0

EFCore 2.0.3 不支持 LocalDB,还是我遗漏了什么?

【问题讨论】:

  • 你用的是什么操作系统?
  • Windows 10 17134

标签: c# uwp entity-framework-core localdb


【解决方案1】:

从 .Net 标准 2.0 开始,我们可以在 UWP 应用中使用 SQL Server 数据库,但您的 UWP 应用必须配置目标版本和最低版本 16299 或更高版本。您可以通过右键单击您的项目 => 属性 => 应用程序选项卡来更改它们。

您可以查看文档Use a SQL Server database in a UWP app 和示例:https://github.com/StefanWickDev/IgniteDemos/tree/master/NorthwindDemo

另外,这里还有一个类似的帖子,你可以参考一下:

How to connect to SQL server database from a Windows 10 UWP app

---更新---

目前,UWP 应用不支持 16299 和 17134 上的 LocalDB。但是在我的测试中,LocalDB 可以在 WPF 应用和控制台应用中正常工作,这是我的连接字符串:

        public string LocalDBConnectionString = @"Data Source=(localdb)\MSSQLLocalDB;
Initial Catalog=master;Integrated Security=True;
Connect Timeout=30;Encrypt=False;
TrustServerCertificate=True;
ApplicationIntent=ReadWrite;MultiSubnetFailover=False";

【讨论】:

  • 我使用的是 16299,并且我使用了该链接示例,但我的问题不是针对 SQL Express 之类的 SQL 实例,而是针对 LocalDB。使用该连接字符串的 localDB 我无法连接到本地数据库。
  • @J_PT 目前,UWP 应用不支持 LocalDB,但在 wpf 应用中可以正常工作。请参阅我的 Update 部分中的详细信息。
  • 是的,感谢您的帮助,在 WPF 中我也可以连接,但不确定如何将 gthat 转换为作为项目目标的 UWP...
  • 很遗憾,LocalDB 目前无法在 UWP 平台上使用。
  • @BreezeLiu-MSFT 有问题要解决这个问题吗?我遇到了 17763 的问题