0

我需要以下幫助。導航屬性上的DropDownList DataTextField

我從實體框架數據上下文中得到一個對象列表。

var list = context.EntityA; 

的EntityA是主對象(包含主鍵),但有一個稱爲「EntityALanguages」導航屬性,其中包含的語言特定的性能。

現在我想將列表綁定到下拉列表,並且需要從下拉列表中設置DataValueField和DataTextField屬性。

我怎麼能在DataTextField設置爲導航屬性的屬性,像這樣:

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

編輯: 的導航屬性「EntityALanguages」是一個集合,所以EntityA - > EntityALanguages是1-n關係

回答

0

通過使用var list = context.EntityA;您的導航屬性將被延遲加載。嘗試var list = context.EntityA.Include("EntityALanguages");,以便您的導航propery將存在。

+0

沒有說並沒有這樣做。導航屬性正確加載。 – 2011-01-31 08:53:25

0

DropDownList可能不支持綁定的屬性樹。

如果要綁定你可以做的是做到以下幾點:。

VAR項目= context.Entity.Include( 「EntityALanguages」)選擇(行=>新{ID = row.GUID, Name = row.EntityALanguages.ShortDescription})。ToList();

ddl.DataTextField =「Name」; ddl.DataValueField =「Id」;

0

在實體EntityALanguages你可以添加一個只讀屬性,這樣

public readonly string EntityALanguagesShortDescription 
{ 
    get { return this.EntityALanguages.ShortDescription; } 
}