0

我正在使用servicestack 4.如何將數據庫連接注入靜態類?Servicestack IDbConnection注入靜態類

僞代碼:

public static class SomeRepository 
{ 
    public static IDbConnection Db { get; set; } 

    public static List<SomeEntity> DoSomething() 
    { 
     return Db.Select<SomeEntity>(); 
    } 
} 
+2

爲什麼你首先使用靜態類?讓你的生活更容易,並使其成爲實例類,並將依賴注入到它的構造函數中。 – Steven 2014-09-24 19:05:24

+0

我正在試驗servicestack和ormlite。在我以前的中型項目(Devforce + EF)中,我使用了靜態存儲庫類,它工作正常。我想我必須重新考慮一下服務堆棧。 – masroore 2014-09-25 04:59:07

回答

2

你可以使用HostContext.TryResolve<IDbConnectionFactory>().OpenDbConnection()

public static class SomeRepository 
{ 
    public static IDbConnection Db = HostContext.TryResolve<IDbConnectionFactory>().OpenDbConnection(); 

    public static List<SomeEntity> DoSomething() 
    { 
     return Db.Select<SomeEntity>(); 
    } 
} 

希望有幫助。

+0

謝謝@Scott!這樣可行!我希望SS有更好的文檔。 – masroore 2014-09-25 04:41:58