hi; J'essaie de faire fonctionner mes codes. Mon programme tourne plus lentement. J'ai besoin de donner des performances écrire aussi moins de codes dans GetAliSpReqs(), GetMaintData(); GetAccess .... GET (... Comment puis-je écrire plus efficace ci-dessous les codes.Ils sont trop lent aussi pas utile.Exemple j'essaie pour écrire les de 1-2 ligne avec GetAliSpReqs() Comment puis-je s'il vous plaît me aider ... Comment puis-je raccourcir mes codes linq?
public void LoadById(string SearchItem)
{
var myTechnicTasks = engTaskCtx.Tasks.Where(task => task.MyTechnicReference.StartsWith(SearchItem)).Select(task => new MyTask()
{
id = task.id,
MyTechnicReference = task.MyTechnicReference,
MPDReference = task.MPDReference,
tasktypeid = task.tasktypeid,
shortdesc = task.shortdesc,
interval = task.interval,
critical = task.critical,
mandatory = task.mandatory,
dupinsp = task.dupinsp,
dualsystemmaint = task.dualsystemmaint,
MPDSkill = task.MPDSkill,
MPDCrew = task.MPDCrew,
MPDAccessMH = task.MPDAccessMH,
MPDTotalMH = task.MPDTotalMH,
extratime = task.extratime,
Team = task.Team,
MaintData = EngGetCalculatedTaskField.GetMaintData(task.id),
AliSpReqs = EngGetCalculatedTaskField.GetAliSpReqs(task.id),
Access = EngGetCalculatedTaskField.GetAccess(task.id),
preperation = task.preperation,
longdesc = task.longdesc,
applnotes = task.applnotes
});
MyTechnicTaskList = myTechnicTasks.ToList();
}
public static class EngGetCalculatedTaskField
{
private static TaskMaintenanceDataDataContext engTaskCtx { get; set; }
public static string GetMaintData(int taskID)
{
try
{
using (TaskCardContext.TaskMaintenanceDataDataContext dc = new TaskCardContext.TaskMaintenanceDataDataContext())
{
string maintenanceData = String.Empty;
foreach (var item in dc.TaskRelations.Where(tableRaletions => tableRaletions.TaskId == taskID && tableRaletions.RelTypeId == 12))
{
maintenanceData += item.RefMaintenance.shortdesc + "; ";
}
return maintenanceData.Substring(0, maintenanceData.Length - 2);
}
}
catch
{
return String.Empty;
}
}
public static string GetAliSpReqs(int taskID)
{
#region Old
try
{
using (TaskCardContext.TaskMaintenanceDataDataContext dc = new TaskCardContext.TaskMaintenanceDataDataContext())
{
string aliSpReqs = String.Empty;
foreach (var item in dc.TaskRelations.Where(tableRaletions => tableRaletions.TaskId == taskID && tableRaletions.RelTypeId == 13))
{
aliSpReqs += item.RefAliSpReq.shortdesc + "; ";
}
return aliSpReqs.Substring(0, aliSpReqs.Length - 2);
}
}
catch
{
return String.Empty;
}
#endregion
}
public static string GetAccess(int taskID)
{
#region Old
try
{
using (TaskCardContext.TaskMaintenanceDataDataContext dc = new TaskCardContext.TaskMaintenanceDataDataContext())
{
string access = String.Empty;
foreach (var item in dc.TaskRelations.Where(tableRaletions => tableRaletions.TaskId == taskID && tableRaletions.RelTypeId == 15))
{
access += item.RefAccessPanel.shortdesc + "; ";
}
return access.Substring(0, access.Length - 2);
}
}
catch
{
return String.Empty;
}
#endregion
}
}