[英]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
類,該類創建SqlConnection
, SqlCommand
並添加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.