1
我今天開始使用ServiceStack。所以,讓我知道我是否做了完全錯誤的事情。將IDbConnectionFactory注入服務類
我試圖注入Db的到我的服務類,爲此我使用這個代碼
[TestFixture]
public class UserServiceTests
{
private UserService service;
[SetUp]
public void SetUp()
{
var appHost = new BasicAppHost();
var dbFactory = new OrmLiteConnectionFactory(":memory:", false, SqliteDialect.Provider);
appHost.Container.Register<IDbConnectionFactory>(dbFactory);
service = new UserService();
service.SetAppHost(appHost);
}
[Test]
public void Calling_post_method_with_valid_User_saves_it_in_database()
{
var User = new User { Name = "Acme Limited" };
var id = service.Post(User);
Assert.AreEqual(1, id);
}
}
有兩個問題: 1)我得到異常:
Could not load file or assembly 'System.Data.SQLite, Version=1.0.82.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)
是有一個簡單的方法來解決這個問題?我們是否真的需要SQLite進行測試,是否有Fake對象可用?
2)編譯器警告 - service.SetAppHost(appHost)。 SetAppHost被刪除。 如何在不使用SetAppHost的情況下將Db注入到服務類中?
任何想法?
謝謝!使用OrmLite.Sqlite,NuGet安裝版本1.0.84。但OrmLite可能正在尋找版本1.0.82。更新到需要的版本才能正常工作。 – user356247 2013-03-06 17:04:09