2016-07-22 7 views
1

Я пытаюсь получить соединение с базой данных без Entity Framework, используя ADO.NET в проекте .NET Core 1.0.SqlDataAdapter отсутствует в проекте ASP.NET Core

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Threading.Tasks; 
using ASP_NETCore3.Models; 
using System.Data; 
using System.Data.SqlClient; 
//using System.Configuration; 

namespace ASP_NETCore3.Repository 
{ 
    public class LineasRepository 
    { 
     private SqlConnection con; 

     private void connection() 
     { 
      //TODO: Implementar variables de confuracion obtiendolas desde appsettings.json 
      string constr = "Data Source=mylocaldb\\sql08;Initial Catalog=empresas;User id=user;Password=secret;Integrated Security=SSPI;"; 
      con = new SqlConnection(constr); 
     } 

     public List<LineasModel> GetAllLineas() 
     { 
      connection(); 
      List<LineasModel> LineasList = new List<LineasModel>(); 
      SqlCommand com = new SqlCommand("select * from CATLIN", con); 
      com.CommandType = CommandType.Text; 
      SqlDataAdapter da = new SqlDataAdapter(com); 
      DataTable dt = new DataTable(); 
      con.Open(); 
      da.Fill(dt); 
      con.Close(); 

      LineasList = (from DataRow dr in dt.Rows 

         select new LineasModel() 
         { 
          cod_lin = Convert.ToInt32(dr["COD_LIN"]), 
          nom_lin = Convert.ToString(dr["NOM_LIM"]), 
          margen = Convert.ToString(dr["MARGEN"]), 
         }).ToList(); 


      return EmpList; 
     } 
    } 
} 

Как вы можете видеть, я могу использовать System.Data.SqlClient, но по какой-то причине компилятор говорит, что SqlDataAdapter отсутствует.

Что я могу сделать? Можно ли установить другие пакеты от NuGet?

+0

Вам нужно будет добавить ссылку на требуемую сборку в project.json –

+0

По-видимому, мне придется использовать другой подход, я попробую с Micro-ORM Dapper. –

+1

@Mr_LinDowsMac рассмотрит возможность использования библиотеки NReco.Data (https://github.com/nreco/data), а также предлагает API для доступа к данным без схемы. И в качестве бонуса вы можете использовать db-независимые абстрактные запросы вместо компостирования SQL в коде. –

ответ

1

Оказывается ядро ​​.net не обеспечивает реализации для SqlDataAdapter и даже DataTable

Это цитата из this page

Что касается

DataTable и DataSet, а также SqlDataAdapter не найдены ... ?! ?

относительно технологий доступа к данным .NET Core 1.0> ограничены низкоуровневыми интерфейсами ADO.NET (IDbConnection, IDbCommand и т. Д.) Или богатым EF Core. > Тем не менее, вы можете использовать сторонние библиотеки, которые могут использоваться в качестве замены для DataRow/DataTable/DataAdapter, например NReco.Data.

0

Я перекомпилированы MySQL.Data для .net ядра 2.0 с тузд DataAdapter и CommandBuilder компиляции. То, что я испытал до сих пор работает.

https://github.com/amjtech/MySQL.Data

Наслаждайтесь.

+0

Пожалуйста, не добавляйте «спасибо» в качестве ответа. Когда у вас будет достаточно [репутации] (https://stackoverflow.com/help/whats-reputation), вы сможете [проголосовать за вопросы и ответы] (https://stackoverflow.com/help/privileges/vote-), которые вы нашли полезными. - [Из обзора] (/ review/low-quality-posts/18049804) –

+0

Это не дает ответа на вопрос. Когда у вас будет достаточно [репутации] (https://stackoverflow.com/help/whats-reputation), вы сможете [прокомментировать любое сообщение] (https://stackoverflow.com/help/privileges/comment); вместо этого [предоставить ответы, которые не требуют разъяснений у аськи) (https://meta.stackexchange.com/questions/214173/why-do-i-need-50-reputation-to-comment-what-can- я-делать-вместо этого). - [Из обзора] (/ review/low-quality-posts/18049804) –

+0

Хотя эта ссылка может ответить на вопрос, лучше включить здесь основные части ответа и предоставить ссылку для справки. Ответные ссылки могут стать недействительными, если связанная страница изменится. - [Из обзора] (/ review/low-quality-posts/18049804) – Saranjith

Смежные вопросы