我得到了绑定到 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 中可能有两个同名的实体。但是,如果我在查询中使用 distinct 并且只返回 'py3_brancharea' 那么肯定应该在返回的实际记录上运行 Distinct 吗?
所以,这向我表明——以及我有限的 LINQ 知识——这是因为这条线:
BranchTagCode = t.py3_BranchArea
但是,需要调用它才能调用 FormattedValues。
那么我如何获得完全基于 'BranchTag' 的一组不同的结果?