所以我正在做的是使用xml文档来确定数据库更新需要运行某些sql脚本的顺序.
XML遵循这种格式
<ScriptRules> <Database databaseName = “string”> <Folder folderPath = “string” executeAllFiles = boolean> <file order=”first or last”>“Filename”</file> </Folder> </Database> </ScriptRules>
因此,执行数据库上所有sql文件的类会在更改连接时查看此内容,并根据配置文件告诉它执行的操作从文件夹执行文件.
现在我的问题是:
假设我有一个包含4个数据库节点的文档,每个节点都有n个文件夹节点,里面有各种各样的文件节点.
我是否合乎逻辑地假设如果在我使用database.Elements(“Database”)检索到XElement的数据库节点上的For Each循环中,它们将按照它们出现在xml文件中的顺序被拉出? (对于文件节点也一样)
据我所知,情况确实如此,但我只是想在开始在生产数据库上使用它之前进行验证.
是,Elements按文档顺序返回元素.从
the docs开始,在“返回值”中:
An
IEnumerable<T>
ofXElement
containing the children of the
XContainer
that have a matchingXName
,in document order.