EntityFramework с сервисным приложением фабрика .net ядро ​​без сохранения состояния API SNI.dll не найдена ошибка - PullRequest
0 голосов
/ 11 декабря 2019

Я пытаюсь перенести свое приложение .net Web API в сервисное приложение Fabric без учета состояния .net core API. Я хочу использовать структуру лица. Когда я пытаюсь выполнить запрос к моей таблице БД, поэтому я получаю сообщение об ошибке " Не удалось загрузить C: \ SfDevCluster \ Data \ _App \ _Node_0 \ DRIHubType_App3 \ MUACAPIPkg.Code.1.0.0 \ x64 \ SNI.dll"

Я перепробовал все, например, добавление справки по sqlclient 4.0.0, изменил структуру на 4.6 и т. Д., Но у меня ничего не работает.

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 };
                }

            }
        }
    }

ошибка: -

IEnumerable авторы = _libraryRepository.GetPubsuites ();

Я получаю сообщение об ошибке в строке выше.

1 Ответ

0 голосов
/ 12 декабря 2019

Решение вышеуказанной проблемы состоит в том, что просто установите Visual Studio 2019. На самом деле последний пакет Microsoft.EntityFrameworkCore.SqlServer, Microsoft.EntityFrameworkCore составляет 3.1. Я думаю, что это больше подходит для 2019.

...