【问题标题】:Is it possible to use Entity Framework Core in Xamarin cross-platform projects?是否可以在 Xamarin 跨平台项目中使用 Entity Framework Core?
【发布时间】:2017-03-18 05:38:47
【问题描述】:

我正在为一个针对不同平台(iOS、Android、UWP)的新项目评估 Xamarin。

当我将 NuGet 包添加到我的 PCL 项目时,我收到以下错误:

不可能安装程序包 « Microsoft.EntityFrameworkCore 1.0.1 »。 Vous essayez d'installer ce package dans un projet ciblant « .NETPortable,Version=v4.5,Profile=Profile111 », mais le package ne contient aucun fichier de contenu ou référence d'assembly compatible avec cette Infrastructure。

所以我猜 Xamarin 不支持 EF Core。

  • 有关于此事的任何信息吗?
  • Xamarin 将来会支持 EFCore 吗?
  • 如果没有,您知道任何其他与 Xamarin 兼容的 ORM 吗?

提前非常感谢, 朱利安

【问题讨论】:

    标签: xamarin xamarin.ios xamarin.android uwp entity-framework-core


    【解决方案1】:

    这是 EF 团队当前的行动项目:

    https://github.com/aspnet/EntityFramework/issues/4269

    截至 10 天前有一个任务,看看是否会支持:

    https://github.com/aspnet/EntityFramework/issues/4269#issuecomment-256133319

    现在 Xamarin 支持 netstandard,我们将进行另一轮测试,看看我们是否准备好让 Xamarin 成为我们支持的方案之一。一旦我们查看了这个,如果我们称它为 1.1 支持,我们就可以拨打电话。我将从移植我在 beta5 天做的示例应用开始。

    【讨论】:

      【解决方案2】:

      一段时间以来,我也对在 Xamarin.iOS 上工作的 EF Core 感兴趣,并一直在监视各个项目的进度。现在有好消息:

      最近,blocker bug 已修复(NotImplementedException 来自 iOS 上的查询)。该错误由Xamarin.iOS 10.10+ on new Mono 5.0 release 解决。引用github问题:

      divega 评论
      我们正在关闭这个问题,因为我们认为根本原因是 在较新版本的 Xamarin iOS 中删除。也就是说,支持 Xamarin 仍被认为是一项正在进行的工作。请参考 在#4269 (comment) 寻求帮助,并为任何人创建新问题 你发现的问题。

      从那时起,我就能够调整 Jon Douglas 的 Xamarin.Android EF Core 示例(请参阅 here)在 iOS here 上运行。

      今天我调整了Xamarin.Forms "Todo" sample app,它使用 SQLite.Net PCL 来代替使用 EF Core。适用于所有 3 个平台。见my adaptation here。我也posted about it in the Xamarin Forums

      【讨论】:

        【解决方案3】:

        您不能使用 EF Core 定位 PCL 项目。您需要改用 .NET Core 项目。虽然 EF Core 作为 Xamarin 的跨平台 ORM 看起来很有前景,但它仍处于非常动态的开发阶段。
        目前我正在使用SQLite.Net-PCL,这是一个非常流行的生产就绪解决方案。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2015-11-21
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2020-10-08
          • 1970-01-01
          相关资源
          最近更新 更多