2011-12-19 8 views
1

私のプロジェクトでは、データストアにXMLファイルを使用しています。私はlinq-to-xmlクエリでそのファイルにアクセスしています。実際に私は自分のSQLサーバーデータベースからそのXMLファイルを作成しましたが、SQLのそのテーブルには50列以上含まれているので、結果のXMLファイルも50以上の要素を持っています...Linq-to-XmlクエリはC#でインテリジェンスをサポートしていますか?

クエリIそのXMLファイルを最初にXDocumentオブジェクトにロードし、その後、そのXMLファイルをクエリに適用します。

私の主な問題は、50以上の要素が含まれているため、インテリセンスサポートなしでクエリを書くことは非常に難しいということです。インテリセンスをサポートしていないのはなぜですか?私は何を間違えたのですか?インテリセンスのサポートを受けるために私は何ができますか?

+0

完全な詐欺かどうかわかりませんが、この質問を確認してください - http://stackoverflow.com/questions/21912/intellisense-for-xelement-objects-with-xml-schema - 答えはあなたですC#でLinqをXML intellisenseにします。 –

答えて

4

LINQ to XMLは文字列に基づいており、スキーマに従うドキュメントに限定されません。それがIntelliSenseを取得しない理由です.VSはスキーマに関する情報を持っていません。

これが本当に重要なのであれば、おそらくxsd.exeのようなものを使ってスキーマを表すクラスを生成する方が良いでしょう。

1

LinqからXmlにIntellisenseを取得することはできません。 これは、実行時にファイルを読み込み、コンパイル時にIntelliSenseが発生することが予想されるためです。実行時に別のファイルをロードすると、コンパイル時にエラーが発生しますか?

XMLファイルからクラスを生成し、XMLファイルをこれらのクラスに逆シリアル化することができます。 Linq To Objectsを使用してデータにアクセスすることができます。

Here is some documentationあなたのクラスを作成する。

関連する問題