我終於開始檢查最新的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