2011-04-28 134 views
0

我目前正在嘗試使用爲數據庫中的所有存儲過程編寫一個簡單的C#包裝類。爲此,我使用CodeSmith,特別是SchemaExplorer。CodeSmith中ParameterSchema.AllowDBNull的含義是什麼?

雖然迭代存儲過程的參數,我注意到屬性ParameterSchema.AllowDBNull,並想知道這是什麼。據我所知,不可能將參數聲明爲NOT NULL,因此總是允許NULL傳遞給任何參數。

通過測試,看起來AllowDBNull始終爲真(或者至少,我還沒有能夠編寫一個導致錯誤的過程)。所以,這導致我問這是爲了什麼?

我發現這個職位從CodeSmith的論壇,從早在2003年: http://community.codesmithtools.com/Support_Forums/f/3/t/264.aspx

他們說,他們將「修正」這在未來的版本這讓我覺得是,我失去了一些東西或者不理解關於這個屬性。

感謝您的期待。

回答

1

我爲CodeSmith Tools工作,我從你的問題更新了forum post。我向Eric諮詢了這個問題,並且我們認定這是由設計決定的,因爲您始終可以將null傳遞給存儲過程參數。作爲您的問題的一部分,這是一個在基類中定義的屬性,並允許您在其他模式對象(E.G.,ColumnSchema)上檢測對象是否可爲空。

CommandWrapper templates將從現有存儲過程或函數生成強類型類。你有機會看看這個嗎?