簡體   English   中英

在ASP.NET中執行SQL的最佳方法

[英]Best way to perform SQL in ASP.NET

場景

我有一個關於最佳實踐和從ASP.NET中的代碼與SQL Server數據庫進行交互的最有效方式的問題。

當前,我正在為此編寫一個具有多種形式的應用程序,用於讀寫不同的SQL Server表。

到目前為止,我這樣做的方法是從aspx頁面的代碼隱藏中收集信息並將其傳遞給特定的類。 例如:

createNewCustomer_click事件上的Customer.aspx頁面中,我創建了一個名為Customer的類的新實例,並通過屬性收集了客戶信息。 然后,我在Customer類中調用insertNewCustomer方法以將信息插入數據庫。

public sub insertNewCustomer()
    dim sqlCommand as string="INSERT INTO CUSTOMER ([NAME],[REGNUM]) VALUES (@NAME,@REGNUM)"
    Dim paramName() as string={"NAME","REGNUM"}
    Dim paramValue() as object={_name,_regnum}     ' variables gathered via properties

   Dim sql as new CSQL(sqlCommand,paramName,paramValue,paramName.Count())
   sql.process()
end sub

因此,在創建SqlCommand字符串之后,我將創建一個用於保存參數名稱的數組和一個用於保存參數值的數組。

然后,我將該信息傳遞給另一個名為CSQL類,該類創建SqlConnectionSqlCommand並添加SqlParameter

問題

我遇到的問題是,此過程要花費大量時間來創建單個表單和每個SQL操作。 另外,很難維護,例如,如果SQL表中有更改,我需要更改Customer類中指定的所有SqlCommand

問題

我想知道的是如何在vb.net中創建類以更有效地與SQL Server數據庫進行交互,並花費更少的時間為它們創建,維護和調試代碼。

有很多工具,擴展程序和框架在創建代碼的數據訪問層部分方面做得非常出色,最著名的是用於LINQ to SQL實體框架的 SqlMetal

如果您的數據庫是Microsoft SQL Server,我建議使用LINQ to SQL,它會生成更清晰,更好的SQL,而且最大的好處是.NET Framework附帶了它,因此您無需部署其他庫。

如果您正在使用其他數據庫服務器,則Entity Framework是最佳選擇。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM