0
私はマスターとディテールとして2つのテーブルを持っています。私はいくつかの属性のように設定します。 [DisplayName="Customer Name"]
と.....私が選択したリストで自分のDataGridViewのソースまたはレポートサービスソースまたは...を埋めるとき、私は属性を使用することができますし、それは私のヘッダ列を設定し し、多くの役に立ったしかし、私は私のマスター・ディテールFlattをしたいと似選択LINQ書いた場合:データアノテーションはLinqの選択で失われました
var x = from m in master
join d in detail on m.id equal d.masterId
select new {d.Id , d.Name , m.Date, m.Customer}
私は定義された属性にアクセス全くありません。 どうすればいいですか? 私はあなたが新しいモーダル/クラスのようにその上の属性を表示し、適用するために、あなたのページにしたいすべてのプロパティを保持しますのMasterDetailsを作成する必要があり、このため
私が望むビューごとに** ViewClass **を書く必要がありました(または、それぞれの選択に参加しました...私のデータが2つ以上のテーブルに入っていて、それらに参加したと思います)。なぜ属性は処分されるのでしょうか? –
属性は削除されていませんが、そのクラスオブジェクトにのみ関連付けられていますので、 'select new {d.Id、d.Name、m.Date、m.Customer}'の型はどう思いますか?これは匿名型です。 – Viplock
はい、あなたのビューにデータ型のものを混在させ、属性を使用する場合は、新しいクラス(ViewClass)を作成する必要があります。 – Viplock