大多数教程都是 Entity Framework ,在 .Net Core 项目中没有提及 Ado.Net。我有一个“旧版”数据库,因此不能选择 EF/“代码优先”方法。
对于 ADO.NET 连接,System.Data.SqlClient
是否可用于 ASP.NET Core 项目?
当我使用 .NET Framework 项目模板时它可用,但它在 .NET Core 项目中仍然可用吗?
最佳答案
现有的 SqlConnection
和其他相关连接仍然存在于 System.Data.SqlClient
命名空间中,并且应该使用完整框架或 .NET Core 按预期工作。
您只需添加适当的引用并使用语句来包含它,例如通过 System.Data.SqlClient
命名空间,如下面的 project.json
中所示> 文件:
然后通过您习惯的语法调用它:
using(var connection = new SqlConnection("{your-connection-string}"))
{
// Do work here
}
因此,只要您有一个有效的连接字符串来连接到现有的旧数据库,就应该没问题。
关于 ORM 使用
I also found that some people are using Dapper, a Micro-ORM replacement for Entity Framework, apparenty more flexible. It is there any advantages of using it instead ADO.NET?
这些 ORM(对象关系映射器)是方便且通常功能强大的工具,可以更轻松地将现有数据库数据映射到特定的类和对象,这可以使它们更易于使用(而不是迭代数据读取器、解析您的每一行并手动构建每个对象)。
就性能而言,它最终取决于您要对查询执行的操作。 ADO.NET 通常是最快的,因为它是与数据库的简单连接,但在某些情况下,Dapper 实际上可以击败它。 Entity Framework 虽然非常有用,但在性能上通常落后,仅仅是因为它是一个如此庞大的 ORM。
再说一次 - 这最终取决于你在做什么,但所有都是可行的选择。
关于asp.net - .NET Core 中的 ADO.NET 可能吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38510740/