我是SubSonic(所有類型)的新手,但是我認爲我可能從3.0開始,因爲我想使用Linq,並且我得到的印象是3.0離發佈版本不遠。我應該如何創建亞音速3.0數據庫上下文類?
我嘗試了alpha下載.zip,但這看起來很老,並沒有單表格類名,所以我現在從最新的主幹SVN版本(rev62)運行。
我已經運行「簡單」的模板,從SubSonic.Templates \對我的數據庫簡單,一切似乎確定,但DB的上下文類模板創建開始是這樣的:
public partial class DB : IQuerySurface
{
static DB _db;
public DB() {
_db = new DB();
}
public static DB CreateDB()
{
if (_db == null)
{
_db = new DB();
_db.Init();
}
return _db;
}
... etc
不出所料,當我調用DB.CreateDB時,ctor會無限遞歸併使堆棧溢出崩潰。
我根本不瞭解ctor--它看起來不像應該在那裏,但是「簡單」和「高級」模板都創造了類似的東西,還有一個非常大的測試套件,我想象是以某種方式驗證這一點。
很明顯,我在這裏有一個錯誤的結局 - 我錯過了什麼樣的盲點?
更新:簡單和高級模板不相似,高級模板沒有這個問題。謝謝您的幫助。
另一個更新:它看起來像這樣在SVN R66固定在簡單的模板
它看起來像一個錯字。應該是 public DB(){} – 2009-04-16 22:37:50
應該是「private DB(){}」。我只是改變模板,繼續前進。 – 2009-04-16 22:43:40