【问题标题】:Entity Framework Code First Approach to Xamarin.Forms PCL appXamarin.Forms PCL 应用程序的实体框架代码优先方法
【发布时间】:2016-03-11 18:35:40
【问题描述】:

我可以有一个带有 Entity Framework 6.1.1.NET 类库项目(在 windowsazure.mobileservices.backend.entity nuget 包中) 使用 Xamarin.Forms PCL 应用程序?这是可以实现的吗?如果不是,可能的并发症是什么?

问题背景: 我正在开发一个带有 Azure 移动服务后端Xamarin.Forms 跨平台 PCL 应用程序,目标是 Android、iOS、Windows 8.1 和 WinPhone 8.1。我实际上并不关心 Windows 8.1,但 Visual Studio 不允许我删除这个目标。所以它保持不变。

Azure 移动服务 已设置,但我需要自动生成表(强烈避免在 azure 门户中手动键入表定义)。我决定首先使用 windowsazure.mobileservices.backend.entity nuget 包来实现 EF 代码。但是,Xamarin.Forms PCL 项目不支持其他程序集。 我正在考虑将此包添加到单独的类库项目中,并从 PCL 项目中引用它。

感谢您的帮助!

【问题讨论】:

  • “Xamarin.Forms PCL 项目不支持其他程序集”是什么意思?我从来没有遇到过向 PCL 添加另一个 nuget 的问题。还是该 nuget 不支持您定位的配置文件?
  • nuget 不支持 PCL 项目针对 Android、IOS、win phone 8.1、win 8.1 @valdetero 的配置文件

标签: asp.net ef-code-first xamarin.forms azure-mobile-services portable-class-library


【解决方案1】:

EntityData 类型是服务器 SDK 上所需的 DTO 超类。不幸的是,它的依赖项在 PCL 项目中不受支持,因此必须与完整的 .NET 4.5 项目一起使用。

您可以改为使用部分类在客户端和服务器之间共享 DTO。只需将所有非系统属性类型放在客户端和服务器之间共享的公共代码文件中。然后,在客户端上,添加系统属性实现(ID 字段、UpdatedAt 可选,Version 可选)。在服务器上,添加另一个继承自 EntityData 的部分类定义。

【讨论】:

  • 感谢@lindydonna 的输入 - msft。你有什么我可以看的例子吗?
  • 我没有样本,但我在答案中添加了更多细节。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-04-26
  • 1970-01-01
  • 2017-09-01
  • 2014-05-23
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多