我有以下代碼,我嘗試存根ISession.Query<UnitModel>()
。異常拋出時嘲笑`ISession`對象
var unitList = new List<UnitModel>()
{
new UnitModel(){Name = "meters", Symbol="m"},
new UnitModel(){Name="grams", Symbol="g"}
};
MockRepository.GenerateMock<ISession>().Stub(x => x.Query<UnitModel>()).Return(unitList.AsQueryable<UnitModel>());
運行時,這將引發異常:
System.InvalidOperationException : Type 'System.Linq.EnumerableQuery`1[[MIB.DomainModels.UnitModel, MIB, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]' doesn't match the return type 'NHibernate.Engine.ISessionImplementor' for method 'ISession.GetSessionImplementation();'
我在做什麼錯在這裏?我應該如何去剔除ISession.Query<UnitModel>()
?
的NHibernate 3.3.0.4000
編輯: UnitModel
類:
public class UnitModel
{
public virtual string Name { get; set; }
public virtual string Symbol { get; set; }
}
你可以在這裏發佈你的UnitModel類嗎? – Faraday