2008-09-15 15 views
3

.NET 3.5に付属している新しい動的データサイト作成ツールを試してみました。このツールはLINQ Datasourcesを使用して、参照用に.dmblコンテキストファイルを使用してデータベースからデータを取得します。私はデータグリッドをカスタマイズする際に混乱していますが、複数のテーブルからデータを表示する必要があります。誰もがLINQ Datasourceオブジェクトを使用してこれを行う方法を知っていますか?.NET 3.5 Linqデータソースと結合

答えて

2

テーブルが外部キーで接続されている場合は、 linqによって自動的に(dbmlを見て、テーブルを結ぶ矢印があると簡単に分かります)、そうでなければ追加することができます。

はそれを行うには、ちょうどこのようなものを使用することができます:テーブルに「ユニット」は、別のテーブルを参照する外部キーを持っており、あなたが引く

<%# Bind("unit1.unit_name") %> 

UNIT_NAME 『「のユニットのプロパティ』という

私はそれが理にかなっていると思います。

0

データグリッドに複数のオブジェクト/データソースを配置することはできません。パーツエンティティの公開されたプロパティを組み合わせた単一のConceptObjectを構築する必要があります。 DB - > L2S Entities - > ConceptObjectを使用してみてください。 DBモデルがConceptObject field-for-fieldと一致する場合は、非常に工夫しなければなりません。

2

(EDITは、次のように私の答えを見直し、質問を誤解)

あなたのLinqDataSourceコントロールを使用すると、実際の要素で参加表明することができないという問題を克服することを可能にするビュー、を指すことができ。 "How to: Create LINQ to SQL Classes Mapped to Tables and Views (O/R Designer)"

O/Rデザイナーは、1対1のマッピング関係しかサポートしていないため、単純なオブジェクトリレーショナルマッパーです。つまり、エンティティクラスは、データベーステーブルまたはビューと1対1のマッピング関係のみを持つことができます。エンティティクラスを複数のテーブルにマッピングするなどの複雑なマッピングはサポートされていません。ただし、複数の関連テーブルを結合するビューにエンティティクラスをマップできます。

+0

はい、LINQDataSourceオブジェクトを使用してこれを行うにはどうすればよいですか? – Norge

0

もっと複雑なLinqを実行し、グリッドをObjectDataSourceにバインドするときには、ObjectDataSourceを使用することをお勧めします。 しかし、何か問題を起こす可能性のある匿名タイプに注意する必要がありますが、何かがあります。