我有一個數據訪問層類有一個方法(GetPeople),將從SQL Server表(人)檢索記錄。此表有20多個字段,其中包括varbinary
類型。vb.net DAL指定列返回
眼下,SQL查詢是一樣的東西
SELECT * FROM people
從我BLL類,我會打電話給DAL.GetPeople()
,這將返回所有列。
指定要返回哪些列的最佳方式是什麼,這樣我可以提高性能?例如,有時我想返回所有字段,其他時間只有一個或兩個字段。
UPDATE 爲了更好地解釋它: 在DAL我有一個方法GetPeople()它調用一個SQL Server功能GetPeople。 在BLL中,我有一個方法GetPeople(),它在完成一些業務邏輯之後調用DAL.GetPeople()。 在我的表示層中,我稱之爲BLL.GetPeople()。
這是工作,但在SQL函數,我有「選擇*從人」。有時我想從表中檢索一列(例如名稱),但在這種情況下,所有列都會返回,我認爲這會影響性能。
所以,我想有一種對這個SQL Server的功能,它的列返回將取決於我如何調用該函數動態SELECT查詢的...
我認爲這取決於你如何編寫你的DAL。 ADO,EF,Simple.Data?就目前而言,這可能太開放了一個問題? –
重要的是你的GetPeople方法返回什麼類型 - 類,數據集,其他?另外,不要使用從*任何選擇*。明確指定列。 –
數據集...是這個方法返回的結果。當然,我不想使用「*」,這就是爲什麼我要指定列... – escar