我有这种重复的代码:我可以把它放在单独的课堂上吗?
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
我有另一个实例,稍后再做一些额外的修改,如果我将它移开,它将不起作用: –