C#引用一个数据项目,用NHibernate和SQLite创建一个模拟数据解决方案
本文关键字:一个 数据 SQLite 创建 解决方案 NHibernate 模拟 数据项 引用 项目 | 更新日期: 2024-04-03 09:13:48
我一直在学习教程
http://gergroen.blogspot.de/2011/11/nhibernate-getting-started-guide.html
我对此没有任何问题,到目前为止一切都很清楚。
当我尝试引用另一个DLL时,我的问题出现了,我在那里有一些大型基础结构数据模式。这个DLL充满了要用Postgres DB填充的对象,当然,所有属性都有虚拟语句,所以可能是SQLite Lazy Loading。
我正在尝试做一个Mock-Up项目,在最终的DBSchema完成时进行测试,但一旦我引用了我的外部DLL,我就会遇到问题。
当我编译时,我得到以下错误:
错误2找不到类型或命名空间名称"External"(分别为缺少using指令或程序集参考?)C: ''Users''john''Downloads''NHibernate入门指南主''NHibernat入门指南主''NHibernate.GettingStarted''Model''IMedicine Repository.cs 1 7 NHibernate.GettingStarted
代码在哪里(当我引用同一名称空间内的类时,这个代码不会中断,如上面的教程所示):
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:
理解这个问题的另一个好问题是:如何引用来自另一个程序集的数据对象?我想这就是我的问题所在。
好吧,看得越来越深。。。我发现这就是问题所在:
引用的项目得到";丢失";编译时
一个项目是用4.5框架编译的,另一个是用4.0编译的。
我把两者都切换到4.5,现在它起作用了!
希望这能帮助其他人。