2011-10-04 39 views
1

我有一個表的列定義爲SMO Column.Default返回即使列具有缺省值

create table foo 
(
    edit_date datetime default (getdate()) not null 
) 

然而,對應Microsoft.SqlServer.Management.Smo.Column對象上的Default屬性爲空空字符串。

所有其他屬性(例如Name,DateType,InPrimaryKey等)都是正確的。

該文檔有點稀疏,所以我想知道該屬性是否意味着要被讀取。

即使列定義包含默認值,Column.Default屬性是否應爲空?

回答

1

列上的默認值與列本身保持一致。如果您想獲得該值,則使用DefaultContrainst屬性。在那之下,您可以使用Text屬性來獲取實際值。

DefaultConstraint constraint = column.DefaultConstraint; 
string value = Constraint.Text;