我有這種重複的代碼:我可以把它放在單獨的課堂上嗎?
var expCodes = (from cpdet in _dataContextOrders.CodeProfileDetails
join cpd in _dataContextOrders.CodeProfileDefinitions on cpdet.CodeProfileDefinitionID equals cpd.ID
join cp in _dataContextOrders.CodeProfiles on cpd.CodeProfileID equals cp.ID
join cc in _dataContextOrders.FMSCostCentres on cpdet.CostCentreID equals cc.ID
join ec in _dataContextOrders.FMSExpenseCodes on cpdet.ExpenseCodeID equals ec.ID
where cp.ID == Convert.ToInt32(intCostCodeProfileId)
&& cpdet.CostCentreID == Convert.ToInt32(intCostCentreSelected)
&& ec.Active == true
select new
{
ec.ID,
ec.CostCentreID,
ExpenseCodeExternalRef = ec.ExternalRef,
ExpenseCodeDescription = ec.Description,
displayExpenseCode = ec.ExternalRef + " " + ec.Description
}).Distinct().OrderBy(ec => ec.displayExpenseCode);
ddlExpCode1.DataSource = expCodes;
ddlExpCode1.DataTextField = "displayExpenseCode";
ddlExpCode1.DataValueField = "ID";
我想什麼做的是把它變成一個類自身,正如我們之前LinqToSql做,我可以從我的aspx.cs頁面調用,使用2個參數intCostCodeProfileId和intCostCodeProfileId,它將返回下拉列表的數據。
我該怎麼做?
輝煌。這只是我正在尋找的解決方案。 –
不客氣:) 我忘了添加intCostCentreSelected參數,但您肯定知道如何向函數添加第三個參數。 – Visionstar
我有另一個實例,稍後再做一些額外的修改,如果我將它移開,它將不起作用: –