2011-12-19 51 views
1

在我的项目中,我正在使用XML文件进行数据存储。我正在用linq-to-xml查询访问该文件。实际上,我已经从我的SQL服务器数据库创建了该XML文件,但由于SQL中的表格包含多于50列,因此生成的XML文件也具有超过50个元素...Linq-to-Xml查询是否支持C#中的intellisence?

现在,在应用查询I最初将该XML文件加载到XDocument对象中,然后在其上应用查询。

我的主要问题是,因为它包含超过50个元素,所以很难写出没有智能支持的查询。为什么它不支持intellisence?我做错了什么?我能做些什么来获得智能支持?

+0

不知道它是否是一个完美的诱惑,但检查这个问题 - - 答案是你可以检查这个问题 - http://stackoverflow.com/questions/21912/intellisense-for-xelement-objects-with-xml-schema - 答案是你可以在C#中将Linq转换为Xml intellisense。 – 2011-12-19 11:06:02

回答

4

LINQ to XML基于字符串,并不局限于遵循某种模式的文档。这就是你没有得到IntelliSense的原因,VS没有关于模式的信息。

如果这对你来说真的很重要,也许使用类似xsd.exe的类来生成表示该模式的类会更好。

1

Linq to Xml无法获得智能感知。 这是因为您在运行时加载文件,并且您希望它具有编译时智能感知。如果你在运行时加载一个不同的文件,你会得到一个编译时错误吗?

你可以做的是从你的Xml文件生成类,然后将你的XML文件反序列化到这些类中。您可以使用Linq To Objects来访问数据。

Here is some documentation创建您的类。