Dot-Net
從 MS SQL 數據庫獲取 XML 架構
是否可以使用 .Net 和 C# 以程式方式生成數據庫的 XML 模式?我想研究 NDbUnit,但對於大型數據庫,手動製作 Schema 真的不可行嗎?
是否可以從數據庫生成 XML 模式?
可以肯定的是,XMLSpy可以從數據庫生成 XML Schema。
還有另一種方法,雖然我從未測試過:
create table Person ( Age int not NULL check( Age > 0) , Height numeric(10,2) not NULL check( Height > 5), Gender varchar(5) not null check( Gender in ('M', 'F', 'O')), BirthDate datetime null, ) DECLARE @schema xml SET @schema = (SELECT * FROM Person FOR XML AUTO, ELEMENTS, XMLSCHEMA('PersonSchema')) select @schema
我可以這樣做:
DataSet results = new DataSet(); SqlCommand command = new SqlCommand("SELECT * FROM table", new SqlConnection(connectionString)); SqlDataAdapter sqlAdapter = new SqlDataAdapter(command); sqlAdapter.FillSchema(results, SchemaType.Mapped);//Fills dataset with schema from query results.WriteXmlSchema(mySchema);問題是,我如何調整這種方法以便它可以用於不確定數量的表?沒有建立一個字元串雖然不是很理想的連接!