我需要以下帮助。
我从Entity Framework数据上下文中获取了一个对象列表。
var list = context.EntityA;
EntityA是主要对象(包含主键),但有一个名为“EntityALanguages”的导航属性,其中包含特定于语言的属性。
现在我想将列表绑定到下拉列表,并且需要从下拉列表中设置DataValueField和DataTextField属性。
如何将DataTextField设置为导航属性的属性,如:
this.ddl.DataValueField = "GUID";
this.ddl.DataTextField = "EntityALanguages.ShortDescription";
编辑: 导航属性“EntityALanguages”是一个集合,因此EntityA - > EntityALanguages是1-n关系
答案 0 :(得分:0)
使用var list = context.EntityA;
您的导航属性将被延迟加载。试试var list = context.EntityA.Include("EntityALanguages");
,这样您的导航功能就会出现。
答案 1 :(得分:0)
DropDownList可能不支持绑定属性。
如果要绑定,可以执行以下操作:
var items = context.Entity.Include(“EntityALanguages”)。选择(row => new {Id = row.GUID,Name = row.EntityALanguages.ShortDescription})。ToList();
ddl.DataTextField =“姓名”; ddl.DataValueField =“Id”;
答案 2 :(得分:0)
在您的实体EntityALanguages中,您可以添加像这样的只读属性
public readonly string EntityALanguagesShortDescription
{
get { return this.EntityALanguages.ShortDescription; }
}