Я не знаю, действительно ли это что-то решает, но попробуйте:
public static class MyExtentsions {
public IQueryable<string> GetItemDescriptions(this Table<CN_MaintItem> table, int cat)
{
return from x in table
where x.CategoryID == cat
select x.ItemDescription;
}
}
Таким образом, вы можете получить информацию следующим образом:
using (CaseNotesDataContext db = new CaseNotesDataContext()) {
Table<CN_MaintItem> caseNotesItems = db.GetTable<CN_MaintItem>();
chkContactType.DataSource = caseNotesItems.GetItemDescriptions(2);
lkuContactLocation.Properties.DataSource = caseNotesItems.GetItemDescriptions(3);
// etc...
}