当我使用实体框架进行分组时,列表的名称属性是什么

本文关键字:列表 是什么 属性 实体 框架 | 更新日期: 2023-09-27 18:33:20

我试图用句子组填充DropDownList。

这是我的句子

var municipios = from p in context.Nalojamientoes 
                 group p by p.Nows_Municipio 
                 into g select g;

我在那里填写我的下拉列表:

DropDownList1.DataSource = municipios.ToList();
DropDownList1.DataValueField = "Nows_Municipio";
DropDownList1.DataTextField = "Nows_Municipio";
DropDownList1.DataBind();

我收到一个错误,显示"没有名称为'Nows_Municipio'的属性"

感谢!

当我使用实体框架进行分组时,列表的名称属性是什么

以下查询

var municipios = from p in context.Nalojamientoes 
                 group p by p.Nows_Municipio into g 
                 select g;

因此,将有一个IEnumerable<IGrouping<TKey, TSource>>,有关此的进一步文档,请查看此处。

简单说明,当执行此查询时,您将获得一系列组。每个组将Nows_Municipio作为键,并将context.Nalojamientoes的随机元素中包含的所有其他属性作为成员。

另一方面,以下声明:

DropDownList1.DataSource = municipios.ToList();

将强制执行您的查询和列表,其中包含我们上面提到的组。话虽如此,你不能指望在你的结果中Nows_Municipio以这种方式绑定到DropDownList1

为了执行上述操作,您应该尝试以下操作:

var municipios = from p in context.Nalojamientoes 
                 group p by p.Nows_Municipio into g 
                 select g.Key;

然后,您必须将结果绑定到DropDownList:

DropDownList1.DataSource = municipios.ToList();
DropDownList1.DataBind();

现在你会得到你想要的。