繁体   English   中英

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

[英]How to connect to Database in C# web application

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

关于样品申请:

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

我的方法:

因为,我是 .net 世界的新手。 所以我上网冲浪并找到了类型化的数据集(最简单的方法,即使用向导而不是编码),因此我使用类型数据集进行数据库连接。

我的问题:

我因使用类型化数据集而面临很多批评:(。有人说它效率不高,有人说它更难扩展......等等:(现在我只想问什么是最好的制作方法数据库连接(特别是对于大型项目)。我只是问这个,因为我是这个领域的新手。但是我从互联网上学习并通过编码找到了另一种方式,即每个事物都存在类(DataSet,DataTable,DataRow,连接等)。是更好的方法吗?或者还有其他东西。一些示例代码或 web 资源指导如何做到这一点会更有帮助

我会看看微软的 ORM(Object Realtionship Mapping)工具,称为实体框架。 您几乎将一个新的实体框架 Model 添加到您的项目中,然后您可以 select 所有您想要的表和存储过程,然后您就可以通过 ZA8CFDE6331BD59EB2666F89111111C4 而不是通过数据集访问您的数据。

如今,数据集在新项目中的使用并不多,因为它们很难在未来进行更改,并且需要进行许多更改,而且人们一直告诉你的关于它们不是很可扩展的说法是正确的.

查看下面的实体框架链接。

实体框架教程

您可以使用 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();
}

我会通过这些文章向您推荐 go,因为它们描述了 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 之类的技术,这非常好。

但是,如果它只是一个示例应用程序,您可以使用类型化数据集免费获得很多。 Go 提前并实施它,除非这应该是一个打算扩展的寿命更长的应用程序

可能是数据摘要对您来说是一个好方法

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM