0

次のことについて助けが必要です。

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 の関係です

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 に答える