SSDTプロジェクトでは、DacFx APIを使用して、データベースのメモリモデルでクエリを実行しています。私は列の型を取得しようとしていますが、それを理解することはできません。どのようにこれを行うことができる任意のアイデア?DacFx APIを使用して列のタイプを取得するには?
private void TestMethod()
{
using(TSqlModel model =
new TSqlModel(SqlServerVersion.Sql110, new TSqlModelOptions {}))
{
string[] scripts = new[]
{
"CREATE TABLE t1 (c1 NVARCHAR(30) NOT NULL)",
"CREATE TABLE t2 (c2 INT NOT NULL)"
};
foreach (string script in scripts)
{
model.AddObjects(script);
}
var tables = model.GetObjects(DacQueryScopes.All, Table.TypeClass);
var cols = tables.First().GetReferenced(Table.Columns);
foreach (TSqlObject col in cols)
{
//?? how can I get the data type of the column?
string dataType = col.??;
if (dataType == "int")
{
//my thing here
}
}
}
}
自分自身と他の人への今後の参考として、columnがユーザ定義のデータ型である場合、datatypeNameはインデックス1になります。つまりName.Parts [1]です。 – NoSaidTheCompiler