【问题标题】:Using WPF code in UWP to access database?在 UWP 中使用 WPF 代码访问数据库?
【发布时间】:2019-04-27 02:30:46
【问题描述】:

我正在 Visual Studio 2017 中开发 UWP 应用程序。我想读取 .mdb 并访问数据库文件以进行分析。我在同一个解决方案中创建了两个项目。一种使用 UWP,另一种使用 C# .Net。我想使用参考项目方法共享 C# .Net,我应该能够调用程序来读取数据库。

我对整体概念不熟悉。有人可以分享从 OLEDB 代码到 UWP 应用程序的输入的示例吗?我无法让它工作。

我正在参考以下文章。 https://docs.microsoft.com/en-us/windows/uwp/porting/desktop-to-uwp-migrate

【问题讨论】:

  • 你好,我想你可以去visual studio -> File -> New -> Project -> Class Library (.Net Standard)。这将创建一个类库项目,您可以在其中编写可以在 WPF 和 UWP 中使用的代码
  • 重要的部分是框架的目标。 WPF 通常以 .NET Framework 为目标,超过 3.5 左右。同时,UWP 是针对 .NET Core 的 WPF,并添加了一些相关的附加功能。我认为这篇文章是关于在 UWP 应用程序和另一个 .NET Core 目标程序之间共享代码的。但是有目标的超集:.NET Standart。 .NET Framework、.NET Core 以及在某种程度上甚至单声道只是该标准的实现

标签: c# wpf ms-access uwp uwp-xaml


【解决方案1】:

老实说,我不得不承认我在今天之前并不知道这种能力,但我会尽力描述它。

首先我们需要在这里区分三件事:

  • .NET 标准
  • .NET 框架
  • .NET 核心

.NET Core 和 .NET Framework 都是标准的实现——而且还有很多。 WinForms 从来都不是标准的一部分。这是“超越”的 .NET 框架。 Wich 还解释了为什么 .NET Core 可以如此轻易地放弃它。现在,除了针对 .NET Core、.NET Framework 或 Mono 的 .NET 项目之外,您显然还可以针对 .NET Standard。

这意味着它可以在 .NET Core 和 .NET Framework 应用程序中使用,但您只能获得完全在 .NET Standard 中定义的内容 - 没有其他内容。而且您还必须在项目属性中手动更改它,它没有(很多?)默认模板。

WPF 应用程序必须以 .NET Framework 为目标。当您以 .NET Core 为目标时,UWP 比 WPF + 一些应用程序相关的东西多一点。所以它们都必须针对特定的目标框架。

不幸的是,OLEDB 类从来都不是 .NET Standard 的一部分。如果您查看"Applies to" section,它仅适用于 .NET Framework 和一个版本的 Xamarian。

如果您查看 SQL 相关类,it applies both to Core and Framework - but not the Standard。因此,您可以在针对 Core 或 Framework 的项目中使用它们,但不能在 Standart 中使用它们。似乎与 DB 相关的类还不够通用,不足以将其纳入标准。

请注意,abstract baseclasses 两者都在标准 2.0 中。只是它们的具体实现是一个小细节。因此,如果您真的愿意,您可以根据这些抽象类和接口编写自己的 DB Access 类。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-05-25
    • 1970-01-01
    • 2018-12-09
    • 2017-04-20
    • 1970-01-01
    • 2019-10-15
    • 1970-01-01
    相关资源
    最近更新 更多