C# 引用数据项目以使用 NHibernate 和 SQLite 创建模拟数据解决方案
C# Referencing a data project to create a mock up data solution with NHibernate and SQLite
我正在学习本教程
http://gergroen.blogspot.de/2011/11/nhibernate-getting-started-guide.html
我没有遇到任何问题,到目前为止一切都很清楚。
当我尝试引用另一个我有一些大型基础结构数据模式的 DLL 时,我的问题出现了。这个 DLL 充满了要用 Postgres DB 填充的对象,当然,所有属性都有虚拟语句,因此可能是 SQLite 延迟加载。
我正在尝试做一个 Mock Up 项目,以便在最终的 DB Schema 最终完成时进行测试,但是一旦我引用我的外部 DLL,我就会遇到问题。
编译时出现以下错误:
Error 2 The type or namespace name 'External' could not be found (are
you missing a using directive or an assembly
reference?) C:\Users\john\Downloads\NHibernate-getting-started-guide-master\NHibernate-getting-started-guide-master\NHibernate.GettingStarted\Model\IMedicineRepository.cs 1 7 NHibernate.GettingStarted
代码在哪里(当我在同一命名空间中引用 class 时,相同的代码不会中断,如上面的教程所示):
using External.Infrastructure.Medicine;
using System;
namespace NHibernate.GettingStarted.Model
{
public interface IMedicineRepository
{
/// <summary>
/// Get person entity by id
/// </summary>
/// <param name="id">id</param>
/// <returns>person</returns>
Medicine Get(Guid id);
/// <summary>
/// Save person entity
/// </summary>
/// <param name="person">person</param>
void Save(Medicine medicine);
/// <summary>
/// Update person entity
/// </summary>
/// <param name="person">person</param>
void Update(Medicine medicine);
/// <summary>
/// Delete person entity
/// </summary>
/// <param name="person">person</param>
void Delete(Medicine medicine);
/// <summary>
/// Row count person in db
/// </summary>
/// <returns>number of rows</returns>
long RowCount();
}
}
我读了一点书,似乎所有的项目都必须在同一个命名空间内,当我尝试使用教程来做到这一点时,这是有道理的。
项目之间的唯一区别是我只是从另一个程序集中引用了一个对象。
有人知道我该如何解决吗?还是我的方法不对?
编辑 1:
另一个理解问题的好问题是:如何从另一个程序集中引用数据对象?我觉得我哪里有问题。
好吧,越看越深……发现问题出在这里:
Referenced Project gets "lost" at Compile Time
一个项目是用 4.5 Framework 编译的,另一个是用 4.0 编译的。
我都切换到 4.5,现在可以用了!
希望这可以帮助到其他人。
我正在学习本教程
http://gergroen.blogspot.de/2011/11/nhibernate-getting-started-guide.html
我没有遇到任何问题,到目前为止一切都很清楚。
当我尝试引用另一个我有一些大型基础结构数据模式的 DLL 时,我的问题出现了。这个 DLL 充满了要用 Postgres DB 填充的对象,当然,所有属性都有虚拟语句,因此可能是 SQLite 延迟加载。
我正在尝试做一个 Mock Up 项目,以便在最终的 DB Schema 最终完成时进行测试,但是一旦我引用我的外部 DLL,我就会遇到问题。
编译时出现以下错误:
Error 2 The type or namespace name 'External' could not be found (are you missing a using directive or an assembly reference?) C:\Users\john\Downloads\NHibernate-getting-started-guide-master\NHibernate-getting-started-guide-master\NHibernate.GettingStarted\Model\IMedicineRepository.cs 1 7 NHibernate.GettingStarted
代码在哪里(当我在同一命名空间中引用 class 时,相同的代码不会中断,如上面的教程所示):
using External.Infrastructure.Medicine;
using System;
namespace NHibernate.GettingStarted.Model
{
public interface IMedicineRepository
{
/// <summary>
/// Get person entity by id
/// </summary>
/// <param name="id">id</param>
/// <returns>person</returns>
Medicine Get(Guid id);
/// <summary>
/// Save person entity
/// </summary>
/// <param name="person">person</param>
void Save(Medicine medicine);
/// <summary>
/// Update person entity
/// </summary>
/// <param name="person">person</param>
void Update(Medicine medicine);
/// <summary>
/// Delete person entity
/// </summary>
/// <param name="person">person</param>
void Delete(Medicine medicine);
/// <summary>
/// Row count person in db
/// </summary>
/// <returns>number of rows</returns>
long RowCount();
}
}
我读了一点书,似乎所有的项目都必须在同一个命名空间内,当我尝试使用教程来做到这一点时,这是有道理的。
项目之间的唯一区别是我只是从另一个程序集中引用了一个对象。
有人知道我该如何解决吗?还是我的方法不对?
编辑 1:
另一个理解问题的好问题是:如何从另一个程序集中引用数据对象?我觉得我哪里有问题。
好吧,越看越深……发现问题出在这里:
Referenced Project gets "lost" at Compile Time
一个项目是用 4.5 Framework 编译的,另一个是用 4.0 编译的。
我都切换到 4.5,现在可以用了!
希望这可以帮助到其他人。