Xamarin Android实体框架核心链接器问题

时间:2019-05-18 03:09:09

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

我在我的Xamarin Android应用程序之一中使用了Entity Framework Core。当我仅将SDK用作链接器选项时,该应用即可正常运行。

但是,当我使用SDK和用户程序集添加链接器选项时,该应用程序崩溃,因为链接器删除了几个与Entity Framework Core相关的必需类。

让我知道我有什么办法可以保存这些类。

注意:我已经尝试在虚拟类中引用Entity Framework Core类。

2 个答案:

答案 0 :(得分:0)

您必须配置链接器。

  • 在您的Android项目中创建一个新的xml,将其称为linker.xml
  • 将构建操作设置为 LinkDescription
  • 粘贴此代码:
    <?xml version="1.0" encoding="utf-8" ?>
    <linker>
      <assembly fullname="mscorlib">
        <type fullname="System.String">
          <method name="Compare"></method>
          <method name="CompareTo"></method>
          <method name="ToUpper"></method>
          <method name="ToLower"></method>
        </type>
      </assembly>
      <assembly fullname="System.Core">
        <type fullname="System.Linq.Expressions.Expression`1"></type>
        <type fullname="System.Linq.Queryable"></type>
      </assembly>
    </linker>

更复杂地使用EF Core可能需要添加更多类型和方法。

答案 1 :(得分:0)

显然,我的情况要复杂得多。我将文件更改为

  <linker>
     <assembly fullname="mscorlib">
        <type fullname="System.String" />
     </assembly>
     <assembly fullname="System.Core">
        <type fullname="System.Linq.Expressions*" />
        <type fullname="System.Linq.Queryable*" />
     </assembly>
     <assembly fullname="System.Collections">
        <type fullname="System.Collections.Generic*" />
     </assembly>
  </linker>

但是它仍然不能解决问题。有没有人找到完整的排除列表,以供实体框架核心使用?