0

我需要以下帮助。

我从实体框架数据上下文中获取对象列表。

var list = context.EntityA;

EntityA 是主对象(包含主键),但有一个名为“EntityALanguages”的导航属性,其中包含特定于语言的属性。

现在我想将列表绑定到下拉列表,并且需要从下拉列表中设置 DataValueField 和 DataTextField 属性。

如何将 DataTextField 设置为导航属性的属性,例如:

this.ddl.DataValueField = "GUID";
this.ddl.DataTextField = "EntityALanguages.ShortDescription";

编辑:导航属性“EntityALanguages”是一个集合,所以 EntityA -> EntityALanguages 是一个 1-n 关系

4

3 回答 3

0

通过使用var list = context.EntityA;您的导航属性将被延迟加载。尝试var list = context.EntityA.Include("EntityALanguages");使您的导航属性出现。

于 2011-01-31T00:09:35.237 回答
0

DropDownList 可能不支持属性树进行绑定。

如果要绑定,可以执行以下操作:

var items = context.Entity.Include("EntityALanguages").Select(row => new { Id = row.GUID, Name = row.EntityALanguages.ShortDescription}).ToList();

ddl.DataTextField = "名称"; ddl.DataValueField = "Id";

于 2011-08-04T01:31:28.503 回答
0

在您的实体 EntityALanguages 中,您可以添加这样的只读属性

public readonly string EntityALanguagesShortDescription
{
    get { return this.EntityALanguages.ShortDescription; }
}
于 2014-08-23T15:56:57.527 回答