我尝试使用Moq在使用DetachedCriteria类的存储库上对方法进行单元测试。但我遇到了一个问题,在这个问题上,我实际上不能嘲笑内置的内部条件对象。有任何方法来模拟分离的标准吗?
测试方法
[Test]
[Category("UnitTest")]
public void FindByNameSuccessTest()
{
//Mock hibernate here
var sessionMock = new Mock<ISessio
我正在开发一个应用程序,使用NHibernate进行对象关系管理,使用NUnit进行单元测试,使用NHibernate进行DI。我是这样模拟ISession的:
var session = new Mock<ISession>();
对于常规的非模拟会话对象,我可以使用LINQ扩展方法查询它们,如下所示:
var result = Session.Query<MyEntity>();
但是当我尝试用下面的代码来模拟它的时候...
session.Setup(s => s.Query<MyEntity>());
...I获取运行时“不支持”异常:
Exp
没有接口实现存储库模式有什么不好呢?
存储库类
public class WebRepository<T>
{
private readonly Type persitentType = typeof(T);
public virtual T GetById(int id)
{
return NHibernateSession.Get<T>(id);
}
public virtual List<T> GetAll()
{
return GetByCriteria();
}
我有以下代码,我尝试在其中存根ISession.Query<UnitModel>()。
var unitList = new List<UnitModel>()
{
new UnitModel(){Name = "meters", Symbol="m"},
new UnitModel(){Name="grams", Symbol="g"}
};
MockRepository.GenerateMo
我有一个像这样的Ninject和NHibernate的设置。现在,如果我有这样的场景..
class HomeController : Controller
{
[Inject]
public ISession Session { get; set; }
}
这可以正常工作。
但是如果我做另一个类..。
class QueryObject
{
[Inject]
public ISession Session { get; set; }
}
// .. somewhere else in my program.
var test = new QueryObject().Execute
当我尝试编译以下代码时
using System;
using System.Collections.Generic;
using System.Reflection;
using System.Linq;
using NHibernate;
namespace NewNHTest
{
class A
{ }
class Program
{
static void Main(string[] args)
{
ISession session;
var q = session.Qu
我正在尝试使用NHibenate,Burrow和Ninject。
我似乎不能使用一个对象来绑定洞穴ISession。
我目前有
Bind<ISession>().ToProvider( new BurrowFramework().GetSession()).InRequestScope();
我得到了错误
cannot convert from 'NHibernate.ISession' to 'System.Type'
The best overloaded method match for 'Ninject.Syntax.IBi
我是NHibernate的新手,不太擅长C#,但我正在学习。我有一个DataProvider类,它使用NHibernate 3为我的应用程序提供数据,它的结构与非常相似。
我已经注意到我将要经常重复我的代码,我想简化我的DataProvider。例如,我有两个业务类,名为Instrument和Broker。在我的Instrument中添加DataProvider的方法是:
public int AddInstrument(Instrument instrument)
{
using (ITransaction tx = _session.BeginTransac
我有下面的SessionFactory来表示Fluent NHibernate。
我得到了一个错误
在创建SessionFactory时使用了无效或不完整的配置。
其InnerException为
已添加了具有相同键的项。
这个问题只是偶尔发生,我的应用程序大部分时间运行良好。
基于,我猜我的类不是线程安全的,这将解释这个错误的间歇性。
using System;
using NHibernate;
using NHibernate.Cache;
using NHibernate.Cfg;
using FluentNHibernate.Cfg;
using FluentNHibernate
namespace HRProject.Test
{
using NUnit.Framework;
using NHibernate;
using HRProject.Model;
using HRProject.Setup;
using HRProject.Utils;
using NHibernate.Linq;
[TestFixture]
public class RepositoryTest
{
[SetUp]
public void SetUp()
{
我想把持久化实体放到NHibernate会话的同一个生命周期中,这是可能的吗?
public class ViewModel
{
readonly Func<Owned<ISession>> _sessionFactory;
public ViewModel(Func<Owned<ISession>> sessionFactory)
{
_sessionFactory = sessionFactory;
}
public void DoSomething()
{
请考虑以下代码:-
public T Save<T>(T instance) where T : class
{
using(ISession.BeginTransaction())
{
ISession.Save(instance);
ISession.Transaction.Commit();
ISession.Refresh(instance);
return instance;
}
}
NHibernate如何使用新生成的ID填充ID属性,而不考虑数据库和数据类型?最初,我认为它必须使用
我有一个对象,其中包含对象列表。
public class Product: IProduct
{
public virtual long Id { get; set; }
public virtual string Name { get; set; }
public virtual IList<IFunction> Functions { get; set; }
}
public class Function : IFunction
{
public virtual long Id { get; set; }
我从nHibernate开始,并希望从第一天开始就这样做,所以下面是我使用ISession的方法。(每个请求的Web)
这是我的助手:
using System;
using System.Data;
using System.Web;
using NHibernate;
using NHibernate.Cfg;
using NHibernate.Cfg.MappingSchema;
using NHibernate.Context;
using NHibernate.Dialect;
using NHibernate.Driver;
using NHibernate.Mapping.ByC
我将我的NHibernate数据访问类放在WCF服务中,以便可以通过Silverlight项目使用它,但我有错误,并希望测试我的查询。
可以使用NUnit在服务类中测试此查询吗?前面我通常测试这个类,但是当它在服务类中时如何测试呢??
这是我的WCF服务类:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.ServiceModel.Web;
using Sys
我有一个MVC应用程序,它使用NHibernate进行对象关系映射。每个控制器接受一个ISession构造参数,然后使用该参数对域模型对象执行CRUD操作。例如,
public class HomeController : Controller
{
public HomeController(ISession session)
{
_session = session;
}
public ViewResult Index(DateTime minDate, DateTime maxDate)
{
var surveys =
我第一次尝试使用SQLite和NHibernate来测试我的映射,但是我得到了这个错误:
Test method BMGChip.Tests.clsCorrespondenteMapTest.Can_correctly_map_Correspondente threw exception:
NHibernate.Exceptions.GenericADOException: could not insert: [BMGChip.NHibernate.Entities.clsCorrespondente][SQL: INSERT INTO CPHSITE12_COR (COR_NOM, COR