如何爲我的MVC項目創建外部DAL?數據訪問層和MVC分離?
有一件事我真的沒有得到。假設我在我的MVC項目中有一個模型。模型的名稱是一個Person {int id,字符串名稱}。
現在在我的DAL我有一個方法:
公衆人物選擇(INT ID) - 從數據庫加載數據並返回Person對象。
如果DAL是MVC項目的一部分,此工作正常。然而,當我爲外部DAL創建一個類庫(因此我可以在不引用整個MVC項目的情況下在另一個應用程序中使用它)時,它不會知道Person模型,因爲所有模型都隱藏在MVC項目中。
我無法從DAL引用MVC項目,因爲MVC項目需要引用DAL使用它。我對Entity Framework不感興趣我想要我自己的解決方案(不知道EF甚至解決了這個問題)。
有沒有一個祕密的方法來做到這一點?或者我的方法(傳遞整個模型)錯誤,我的Select方法應該返回某種數組或列表的屬性?我相信這是表數據網關的概念(不確定),只是屬性傳遞的不是整個對象。
Sry。這只是一個調整的數字。 '隱藏'我不是指私人我的意思是它不知道在DAL項目中,因爲它是在MVC項目中聲明的。 在DAL項目中聲明模型肯定是一種方式,但我不確定它是否不打破MVC模式。 – Safiron
我對MVC(N層架構)的理解是,您希望您的模型無處不在。所以把它們放在某種不是普遍存在的地方是違反了這種模式。 :) – theMayer