2010-09-08 139 views
1

当使用NHibernate进行单元测试时,我通常会有创建和保存对象的测试,请清除会话(session.Clear()),然后从数据库中检索对象。单元测试实体框架

Session.Clear()与EF4相当于什么?

试验例:

[Test] 
    public void Can_create_and_save_a_default_account() 
    { 
     var account = new Account(); 

     _db.Accounts.AddObject(account); 
     _db.SaveChanges(); 

     int id = account.AccountId; 

     // clear session 

     var fromDb = _db.Accounts.SingleOrDefault(x => x.AccountId == id); 
     Assert.IsNotNull(fromDb); 
    } 
+0

有关单元测试实体框架的好文章,请参阅http://msdn.microsoft.com/en-us/ff714955.aspx – 2010-09-09 11:57:58

回答

3

,这将是重新创建DataContext派生类(_db你的情况)。

0

你可以用内存数据库来嘲笑你的远程数据库。 Here is example 所以每次测试后你都会从头开始。