.Net Core MySql

Я только начал программировать в Visual Studio Code с .NET Core, в Ubuntu 14.04.4 я привык использовать как Ubuntu (из личных интересов, хобби и т. д.), так и .NET и Visual Studio на работе.

Но я столкнулся с проблемой, которую не могу решить. Я создаю небольшое консольное приложение, которое я хочу связывать с сервером MySql, но я не могу заставить MySql.ConnectorNET.Data работать должным образом.

Он был установлен с помощью команды dnu install MySql.ConnectorNET.Data И это, казалось, работало нормально. Зависимость была добавлена ​​в файл project.json, и IntelliSense смог нормально пройти через пакет, но журнал OmniSharp сообщает, что:

[INFORMATION:OmniSharp.Dnx.DnxProjectSystem] Project /home/<username>/VSCode/SimpleSQLatmpt/project.json has these unresolved references: MySql.ConnectorNET.Data

и я просто не могу исправить это. VSCode, кажется, обнаруживает это и просит меня запустить команду dnu restore. Но это бесполезно. Для всех намерений и целей кажется, что MySql.ConnectorNET.Data доступен в проекте, но просто не может быть использован.

Может ли кто-нибудь сказать мне, как это исправить? И не менее важно, почему это происходит в первую очередь?

Спасибо вам большое за ваше время.


person rasmus91    schedule 08.03.2016    source источник
comment
Есть ли какие-либо предупреждающие символы, когда вы расширяете ссылки на свой проект?   -  person Chris Pickford    schedule 08.03.2016
comment
VSCode не имеет классического дерева зависимостей на левой панели. Я могу открыть файл project.json, чтобы просмотреть все зависимости, там все выглядит нормально, как будто он ссылается на правильный пакет из nuget.   -  person rasmus91    schedule 08.03.2016
comment
.NET Core особенный и требует специальной сборки. Кроме того, какие-либо компоненты еще не готовы для этой новой платформы, так что пока не играйте с ней, даже если вы можете быть смелыми.   -  person Lex Li    schedule 08.03.2016


Ответы (2)


На момент этого вопроса (март 2016 г.) не существовало совместимого с .NET Core поставщика ADO.NET для MySQL.

Теперь ситуация изменилась:

  • MySqlConnector, написанный Брэдли Грейнджером, под лицензией MIT и предлагает полную поддержку асинхронности.
  • MySql.Data (>6.10), предоставляемые Oracle (традиционно, GPL)

Лично я предпочитаю MySqlConnector -- его можно бесплатно использовать в коммерческих проектах (лицензия MIT); также я протестировал его с моей библиотекой NReco.Data под Linux, и он отлично работает в моем сценарии. К сожалению, MySqlConnector пока не поддерживает EF Core.

--- ОБНОВИТЬ --

Еще один совместимый с .NET Core коннектор MySQL + поставщик EF Core MySQL:

person Vitaliy Fedorchenko    schedule 27.08.2016
comment
MySql.Data.Core больше не существует. См. nuget.org/packages/MySql.Data.Core. - person Muhammad Ummar; 24.05.2017
comment
@MuhammadUmmar, вы правы, MySql.Data.Core устарел, и теперь для пакета MySql.Data доступна сборка, совместимая с сетевым ядром (я обновил ссылку). - person Vitaliy Fedorchenko; 24.05.2017

ОБНОВЛЕНИЕ 2

Недавно был выпущен MySql Connector NET для .NET Core 1.0 (сентябрь 2016 г.)
http://insidemysql.com/mysql-connector-net-for-net-core-1-0/

Я не пробовал коннектор Брэдли Грейнджера, но этот из MySQL не поддерживает SSL. :(

Итак, любой, кто все равно хочет использовать, должен подключаться с ";SslMode=None;" в строке подключения.

person Feu    schedule 25.09.2016
comment
Что ж, мне нравится использовать официальные коннекторы, но отсутствие SSL немного мешает. - person rasmus91; 25.09.2016
comment
Мы только что добавили поддержку SSL в версии 0.3.0 MySqlConnector: github.com/mysql-net/MySqlConnector nuget.org/packages/MySqlConnector - person Bradley Grainger; 14.10.2016
comment
MySql.Data от Oracle также не поддерживает SSL на данный момент :( - person Himalaya Garg; 23.09.2018