如何在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等(。这是更好的方式吗?或者还有别的东西。一些示例代码或指导如何做到这一点的网络资源将更有帮助
我会看看微软的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这样的技术深信不疑,这是非常好的。
但是,如果它只是一个示例应用程序,您可以使用类型化数据集免费获得它。继续实现它,除非这是一个寿命更长的应用程序,打算扩展
可能是数据摘要对来说是一种很好的方法