Linq to Entities、Entity References、DataGridViews
-
19-08-2019 - |
質問
エンティティから特定のフィールドを選択して、データグリッドビューのデータソースとして使用しようとしていますが、機能させることができませんでした。そのようなことは可能ですか?たとえば、複数のエンティティ参照を含むCustomersエンティティがあります。顧客エンティティとそれらのエンティティ参照内からフィールドを取得し、それらをデータグリッドビューに表示したい。これを実現するためのLinqクエリを思い付くことができず、単にエンティティ全体をデータソースとして使用する場合でも、entityreferences内のフィールドは表示されません。私が間違っていることを知っていますか?助けてくれてありがとう。
解決
from customer in context.customers
select new
{
Name = customer.Name,
City = customer.Address.City
}
カスタムオブジェクトを作成し、2番目のプロパティがプライマリエンティティのエンティティフィールドを参照していることがわかります。基本的には、データを新しいオブジェクトに変換し、生成された列挙型をグリッドにバインドします。
これが少し不平を言うのであれば、私の携帯電話で入力してください。
他のヒント
警告:これは、エンティティフレームワークの参照ではテストされていません。
オブジェクトデータソースを使用する場合、オブジェクト参照のプロパティを参照できますが、最初にオブジェクトをキャストする必要があります。
<asp:Label ID="lblCity" runat="server" Text='<%# ((Customer)Container.DataItem).Address.City%>'></asp:Label>
これは、エンティティ参照のプロパティにアクセスする際に問題になりますか?
所属していません StackOverflow