[英]C# Populating object from database
當前,我們的DAL(數據訪問層)查詢數據庫,並循環瀏覽結果數據以填充一個對象(每行一個對象),其中最終結果是一個列表。
填充對象的最有效(也是最快)的方法是什么?
從數據庫中獲取數據以及為該結果集設計的特定對象的最快方法是哪種?
這是C#
- 編輯
最快是指計算機處理最快的速度,而不是開發的速度。
這也是.NET 2.0應用程序
-
有很多方法可以做到這一點,取決於您使用的C#版本。
您可以使用以下內容:
1. DataSet(我認為上面是.net 2.0?)
2. Linq2SQL(.net 3.5以上)
3. EntityFramework(上面的.net 3.5)
例如使用Linq2SQL:
var result = (from t in YourTable
select t).ToList();
最有效的是你如何使用僅向前的SqlDataReader http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqldatareader.aspx
需要大量的“鍋爐板”代碼,但不是最快的寫。 我個人使用NHiberate但這需要一些學習http://nhforge.org/Default.aspx
我認為最快(最快開發)是LINQ to SQL 。
它正是如此。 創建代表每個表中的屬性列表的類。 訪問它們時,它會自動從數據庫中檢索數據,並使用數據填充這些對象,然后可以將這些數據用作對象列表。 這都是自動化的。 在完成映射后(從數據庫拖動表到Linq到SQL映射),您只需為此編寫一行代碼
代碼看起來很簡單:
List<Something> yourList = YourAutomaticallyGeneratedDataContext.Something.ToList();
對於Firebird,當然,LINQ to SQL不起作用。 請嘗試實體框架。 在我看來,NHibernate太過分了。
但既然你想要最快的處理 ,我建議你看看這個網站: http : //ormbattle.net/選擇你的武器,然后開火。 我沒有考慮使用DataReader的選項。 這很痛苦,並且可能導致錯誤。 這也很難維持。
或者,請查看此問題, 與.NET 2.0 / 3.5一起使用的最佳免費ORM工具
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.