У меня есть маленький winapp, который использует LinqToSQL, так как это DAL. Я создаю сводный вид всех CaseNotes для данного человека, и одним из полей является поле Details. Мне нужно вернуть только первые 50 символов этого столбца в мою функцию просмотра дерева.
Есть какие-нибудь советы, как мне это сделать? Ниже показано, как моя функция TreeView получает свои данные для отображения, а ContactDetails - это рассматриваемый столбец.
public static DataTable GetTreeViewCNotes(int personID)
{
var context = new MATRIXDataContext();
var caseNotesTree = from cn in context.tblCaseNotes
where cn.PersonID == personID
orderby cn.ContactDate
select new { cn.CaseNoteID,cn.ContactDate, cn.ParentNote, cn.IsCaseLog, cn.ContactDetails };
var dataTable = caseNotesTree.CopyLinqToDataTable();
context.Dispose();
return dataTable;
}
ОТВЕТ
Я публикую это здесь на тот случай, если будущие поисковики задаются вопросом, как выглядит решение в контексте вопросов.
public static DataTable GetTreeViewCNotes(int personID)
{
DataTable dataTable;
using (var context = new MATRIXDataContext())
{
var caseNotesTree = from cn in context.tblCaseNotes
where cn.PersonID == personID
orderby cn.ContactDate
select new
{
cn.CaseNoteID,
cn.ContactDate,
cn.ParentNote,
cn.IsCaseLog,
ContactDetailsPreview = cn.ContactDetails.Substring(0,50)
};
dataTable = caseNotesTree.CopyLinqToDataTable();
}
return dataTable;
}