我终于开始检查最新的EF发行版,并且遇到了一些与我的测试有关的麻烦。C#EF4和分层设计的程序集引用错误
因此,我的DAL图层保存了我的.EDMX文件,并使用了MS POCO模板,因此我也生成了.TT文件和类。
我在TestProject.DAL中有一个通用的基类我创建了这些类派生自。 也就是说
public class BaseEntity<T> {}
public class Customer : BaseEntity<Customer> {}
public class Product : BaseEntity<Product> {}
然后在我的TestProject.BLL层,我有一些派生类 即
public class TestProject.BLL.Customer : TestProject.DAL.Customer {}
public class TestProject.BLL.Product : TestProject.DAL.Product {}
然后,在我的UI层,我打电话给我的BLL.Customer对象。 我收到一个错误,说没有添加对DAL.Customer对象的引用等。
我从我的UI项目中引用了BLL项目,并从我的BLL项目中引用了DAL。
为什么UI层抱怨说它没有在该项目中引用时知道DAL层?
此外,作为一个侧面的问题,这看起来像一个“好”的设计?
谢谢大家! 鹅
因此,引用是基于DLL类的可见性隐式的。 – Goosey 2010-09-30 18:59:47
正确 - 取决于*可视性*。 – 2010-09-30 20:21:41
关于我的设计,我只是试图遵循基本的n-Layered设计模式。我想保留所有我的域逻辑在BLL.dll即Users.ChangePassword()和Users.AcceptAgreement()等和所有的DAL.dll东西只有数据特定项目用户。Add()和最后BaseEntity为所有实体提供相关方法BaseEntity .GetById()BaseEntity .Search()等 –
Goosey
2010-09-30 21:32:19