У меня есть следующий запрос, который привязывается к DropDownList;
if (!Page.IsPostBack)
{
var branchTags =
(
from t in context.ContactSet
orderby t.py3_BranchArea
where t.py3_BranchArea != null
select new
{
BranchTagCode = t.py3_BranchArea,
BranchTag = (t.FormattedValues != null && t.FormattedValues.Contains("py3_brancharea") ? t.FormattedValues["py3_brancharea"] : null)
}
).Distinct();
ddlBranchTags.DataSource = branchTags;
ddlBranchTags.DataBind();
}
По какой-то причине мы все еще помещаем 2 строки, которые визуально совпадают. Возможно, в CRM есть два объекта с одинаковым именем. Но, если я использую отдельный в запросе и возвращаю только py3_brancharea, тогда, конечно, Distinct должен запускаться на фактических возвращенных записях?
Итак, это наводит на мысль - и мои ограниченные знания LINQ - что это из-за строки:
BranchTagCode = t.py3_BranchArea
Но это необходимо вызвать, чтобы можно было вызвать FormattedValues.
Как тогда мне получить отчетливый набор результатов, основанный исключительно на BranchTag?