微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在原生 c++ 应用程序中使用 Entity Framework Core 5 (ef-core-5.0)

如何解决在原生 c++ 应用程序中使用 Entity Framework Core 5 (ef-core-5.0)

是否可以在原生 c++ 应用程序中使用 ef-core-5.0,使用 c++/cli 互操作程序集,以 .net core 5 作为目标框架?为了对此进行实验,我修改了 CppclimigrationSample (https://github.com/mjrousos/CppCliMigrationSample) 的 netcore 分支,将 CppCliInterop 的“netcoreapp3.1”更改为“net5.0”,并将“net47;netcoreapp3.1”更改为“ net5.0-windows”用于 ManagedLibrary。通过这些更改,示例将按预期构建和运行。但是,将 efcore 5 程序集添加到 ManagedLibrary 并尝试对脚手架模型进行简单查询失败,并显示以下错误:- System.IO.FileNotFoundException:'无法加载文件或程序集'Microsoft.EntityFrameworkCore ,版本=5.0.5.0,文化=中性,PublicKeyToken=adb9793829ddae60'。该系统找不到指定的文件。'。我想我需要在应用程序的 .config 中输入一个条目,但我不确定它应该是什么。谁能帮忙解决这个问题?

以下是我在修改后的 ManagedLibrary.csproj 中的内容:-

ManagedLibrary.csproj

示例查询

using ManagedLibrary.Context;
using ManagedLibrary.Model;
using System.Linq;

namespace ManagedLibrary
{
   public static class Mi2cdbData
   {
      public static Prjdata GetFirstProject()
      {
         using (var context = new BaseContext())
         {
            return context.Prjdata.FirstOrDefault();
         }
      }
   }
}

以下显示了它是如何在 CppClinterop.cpp 中调用的:-

CppClinterop.cpp

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。