У меня есть этот повторяющийся фрагмент кода:Можно ли поместить это в отдельный класс?
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
У меня есть еще один экземпляр с некоторыми дополнительными модификациями позже, которые не работают, если я отключаю его: –