C# 找不到服务应用程序fabric.net core无状态API SNI.dll的EntityFramework错误
我正在尝试将我的.net Web API应用程序迁移到Service app Fabric无状态.net核心API。我想使用实体框架。当我试图查询我的db表时,出现错误“未能加载C:\SfDevCluster\Data\\u App\\u Node\u 0\DRIHubType\u App3\muacapikg.Code.1.0.0\x64\SNI.dll” 我尝试了所有的事情,比如添加sqlclient 4.0.0引用,将框架更改为4.6等等,但没有任何效果C# 找不到服务应用程序fabric.net core无状态API SNI.dll的EntityFramework错误,c#,asp.net-core,asp.net-core-webapi,appfabric,C#,Asp.net Core,Asp.net Core Webapi,Appfabric,我正在尝试将我的.net Web API应用程序迁移到Service app Fabric无状态.net核心API。我想使用实体框架。当我试图查询我的db表时,出现错误“未能加载C:\SfDevCluster\Data\\u App\\u Node\u 0\DRIHubType\u App3\muacapikg.Code.1.0.0\x64\SNI.dll” 我尝试了所有的事情,比如添加sqlclient 4.0.0引用,将框架更改为4.6等等,但没有任何效果 public class Data
public class DatabaseContext : DbContext
{
public DatabaseContext(DbContextOptions<DatabaseContext> options) : base(options)
{
}
public DbSet<Pubsuite> Pubsuite { get; set; }
}
==Startup Class code
services.AddDbContext<DatabaseContext>(opts => opts.UseSqlServer("server=srvername;database=dbname;User ID=user;password=password;"));
====Pubsuite class
public class Pubsuite
{
[Key]
public string username { get; set; }
public string pubsuites { get; set; }
}
public interface IPubsuiteRepository<T>
{
IEnumerable<T> GetPubsuites();
}
public class PubsuiteRepository : IPubsuiteRepository<Pubsuite>
{
readonly DatabaseContext _libraryContext;
public PubsuiteRepository(DatabaseContext context)
{
_libraryContext = context;
}
public IEnumerable<Pubsuite> GetPubsuites()
{
return _libraryContext.Pubsuite.ToList();
}
}
public class ValuesController : ControllerBase
{
private readonly IPubsuiteRepository<Pubsuite> _libraryRepository;
public ValuesController(IPubsuiteRepository<Pubsuite> libraryRepository)
{
_libraryRepository = libraryRepository;
}
// GET api/values
[HttpGet]
public ActionResult<IEnumerable<string>> Get()
{
try
{
IEnumerable<Pubsuite> authors = _libraryRepository.GetPubsuites();
return new string[] { "value1", "value2" };
}
catch (Exception ex)
{
var mess = ex.Message;
return new string[] { mess };
}
}
}
}
公共类数据库上下文:DbContext
{
公共数据库上下文(DbContextOptions):基本(选项)
{
}
公共DbSet Pubsuite{get;set;}
}
==启动类代码
services.AddDbContext(opts=>opts.UseSqlServer(“server=srvername;database=dbname;userid=User;password=password;”);
==Pubsuite类
公共类公共套房
{
[关键]
公共字符串用户名{get;set;}
公共字符串{get;set;}
}
公共接口IPubsuiteRepository
{
IEnumerable GetPubsuites();
}
公共类PubsuiteRepository:IPubsuiteRepository
{
只读数据库上下文_libraryContext;
公共PubsuiteRepository(数据库上下文)
{
_图书馆语境=语境;
}
公共IEnumerable GetPubsuites()
{
return _libraryContext.Pubsuite.ToList();
}
}
公共类值控制器:控制器库
{
私有只读IPubsuiteRepository图书馆存储库;
公共价值控制人(IPubsuiteRespositional Library Repository)
{
_libraryRepository=libraryRepository;
}
//获取api/值
[HttpGet]
公共行动结果获取()
{
尝试
{
IEnumerable authors=_libraryRepository.GetPubsuites();
返回新字符串[]{“value1”,“value2”};
}
捕获(例外情况除外)
{
var mess=ex.消息;
返回新字符串[]{mess};
}
}
}
}
错误:-
IEnumerable authors=_libraryRepository.GetPubsuites()
我在上述行中遇到错误。上述问题的解决方案是,只需安装visual studio 2019即可。实际上,Microsoft.EntityFrameworkCore.SqlServer的最新包Microsoft.EntityFrameworkCore是3.1。我认为它更适合2019年