.Net と C# を使用してプログラムでデータベースの XML スキーマを生成することは可能ですか? NDbUnit を調べたいのですが、大規模なデータベースの場合、スキーマを手動で作成するのは現実的ではありませんか?
20343 次
3 に答える
26
データベースから XML スキーマを生成することは可能ですか?
確かに、XMLSpyはデータベースから XML スキーマを生成できます。
テストしたことはありませんが、別の方法があります。
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
于 2008-11-18T14:24:39.670 に答える
2
私はこのようにそれを行うことができます:
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);
問題は、この方法をどのように適応させて、不確定な量のテーブルで使用できるようにすることができるかということです。正確には理想的ではない連結にもかかわらず、文字列を構築せずに!
于 2008-11-18T14:44:03.407 に答える
-1
MyGeneration の typed-dataset-template を使用して、XSD を自動生成します ( http://www.mygenrationssoftware.com )。その無料、OSS、および素晴らしい作品。また、NDbUnit チームは現在、データベースからスキーマを抽出するだけでなく、付随する XML データセットに含まれるテスト データを編集できるようにする NDbUnit のアドオン ツールに取り組んでいます。このツールの ETA は 7 月中旬頃です。
于 2009-06-07T11:11:31.660 に答える