2010-07-14 86 views
0

我已經給出了使用SubSonic ORM的現有項目的源代碼。我的(有限!)理解是SubSonic通過對現有數據庫進行反向工程來生成代碼。不幸的是我沒有用於這個項目的數據庫。如何從現有的ActiveRecord.cs文件獲取數據庫模式?

我確實有上次編譯時的ActiveRecord.cs文件。我怎樣才能算出數據庫模式,以便我可以重現數據庫?

回答

1

這聽起來像SubSonic 3.這裏有幾個地方讓你開始基於我看我的ActiveRecord.cs文件。您可能想要自己創建一個小型數據庫,在其上運行SubSonic,並查看ActiveRecord.cs中生成的內容。

在你的ActiveRecord.cs文件中,你會發現每個表有一個部分類。部分類將從IActiveRecord繼承,並可能是表的名稱。

在類的內部,您會找到一個名爲「KeyName()」的函數,它將返回表的主鍵列名稱。 SubSonic需要一個主鍵來處理表格併爲其生成代碼。

尋找一個名爲「外鍵」的區域。如果此表具有外鍵,則會找到與每個外鍵對應的屬性,如「public IQueryable OtherTableNames」。所以這個表應該有一個名爲「OtherTableNameID」的列。檢查生成的部分類的外鍵表,以確保。

緊靠外鍵區域的下方,您可以找到該表的非外鍵列的屬性。您可以從屬性數據類型中猜測列的數據類型(例如,字符串可能是char(x)或varchar(x))。

+0

謝謝 - 這指出我在正確的方向。 – 2010-07-21 15:56:40

相關問題