如何在C#web应用程序中连接到数据库

本文关键字:连接 数据库 应用程序 C#web | 更新日期: 2023-09-27 18:01:10

我在C++工作了四年,突然我被分配了一项任务,开发一个示例web应用程序,其目的是从示例表中获取数据并将其显示在网格视图中。

关于示例应用程序:

该应用程序是在Visual web Developer 2010中在Framework 4.0下使用ASP.net和C#开发的。后端数据库是在MS SQL Server 2008 中开发的

我的方法:

从那以后,我对.net世界是个新手。所以我在互联网上冲浪,找到了类型数据集(最简单的方法,即使用向导而不是编码(,因此我使用类型数据集进行数据库连接。

我的问题:

我曾因使用类型化数据集而受到很多批评:(。有人说它不有效,有人说更难扩展……等等:(现在我只想问一下,建立数据库连接的最佳方式是什么(尤其是对于大型项目(。我之所以提出这个问题,是因为我是这个领域的新手。然而,我从互联网上学习,发现了另一种编码方式,即每件事都有类(DataSet、DataTable、DataRow、Connection等(。这是更好的方式吗?或者还有别的东西。一些示例代码或指导如何做到这一点的网络资源将更有帮助

如何在C#web应用程序中连接到数据库

我会看看微软的ORM(对象实时性映射(工具,名为实体框架。你几乎可以在项目中添加一个新的实体框架模型,然后你可以选择你想要的所有表和存储过程,这样你就可以通过对象而不是数据集访问数据。

如今,数据集在新项目中的使用并不多,因为它们很难进行更改,而且需要进行许多更改,而且人们一直告诉你的是,它们的可扩展性不强。

签出下面的实体框架链接。

实体框架教程

您可以使用SqlDataReader,这是在中检索数据的最快方法。NET。

//ensures the SQLconnection will be closed...
using (SqlConnection connection =
           new SqlConnection(connectionString))
{
    SqlCommand command =
        new SqlCommand("select * from MyTable", connection);
    connection.Open();
    SqlDataReader reader = command.ExecuteReader();
    // Reads data
    while (reader.Read())
    {
        Response.Write(String.Format("{0}, {1}",
            reader[0], reader[1]));
    }
    // Close dataReader after use...
    reader.Close();
}

我建议您阅读这些文章,因为它们描述了ASP中数据访问的最佳实践。NET。

http://msdn.microsoft.com/en-us/library/ms971481.aspx

http://msdn.microsoft.com/en-us/library/ee817654.aspx

DataSet、DataTable或SqlDataReader的使用完全取决于您的情况。你需要分析哪种最适合你的情况。

您可以看看这个。

它还有其他方法,如LINQ TO SQL、EF

如果您选择类型化的数据集,您就有点拘泥于一种技术。遵循关注点分离比较困难,因为数据集及其表通常会传递给业务逻辑和客户端,而不仅仅是数据访问层。

因此,如果您在应用程序中选择类型化数据集,可扩展性肯定是一个问题,因为交换这些技术并不简单,因为它通常是跨层和分层实现的

其他人则对NHibernate这样的技术深信不疑,这是非常好的。

但是,如果它只是一个示例应用程序,您可以使用类型化数据集免费获得它。继续实现它,除非这是一个寿命更长的应用程序,打算扩展

可能是数据摘要对来说是一种很好的方法