ASP.NET核心项目中缺少SqlDataAdapter
本文关键字:SqlDataAdapter 项目 NET 核心 ASP | 更新日期: 2023-09-27 17:58:13
我正在.NET Core 1.0项目中使用ADO.NET,尝试在没有实体框架的情况下连接到数据库。
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安装另一个软件包的问题?
.NET Core 2.0现在实现了SqlDataAdapter和DataTable。
https://learn.microsoft.com/en-ca/dotnet/api/system.data.sqlclient.sqldataadapter?view=netcore-2.0
对于.net core 3.1,Microsoft提供了一个新的库Microsoft.Data.SqlClient
,它几乎所有的代码都与原始的System.Data.SqlClient
相同。你只需要有一个新的NuGet包,所有的代码都应该只做最小的更改(如果有的话)。
主流的ORM,Dapper和EntityFramework,也依赖于这个包进行底层工作。
截至2022年4月,更新版本为4.1(https://www.nuget.org/packages/Microsoft.Data.SqlClient/)
但是,如果要使用原始包,则需要将项目版本设置为Platform Extensions 3.1
使用NuGet并安装Microsoft.EntityFrameworkCore.SQL Server,System.Data.SqlClient就埋在那里。
似乎.net core不提供SqlDataAdapter
甚至DataTable
的实现
这是本页的报价
关于
找不到DataTable和DataSet以及SqlDataAdapter…?!?
对于.NET Core 1.0版本的数据访问技术>是否仅限于低级别?ADO.NET接口(IDbConnection、IDbCommand等)或丰富的EF Core>尽管如此,您是否可以使用第三方库作为替换?对于DataRow/DataTable/DataAdapter,例如NReco.Data.
我用中编译的MySQL数据适配器和commandbuilder重新编译了用于.net核心2.0的MySQL.Data。到目前为止,我所测试的一切都有效。
https://github.com/amjtech/MySQL.Data
享受吧。