我正在使用存儲庫模式與LINQ到SQL,我使用每個表的存儲庫類。 我想知道,我是在做的好/標準的方式,Linq到SQL存儲庫模式,一些問題
ContactRepository
Contact GetByID()
Contact GetAll()
COntactTagRepository
List<ContactTag> Get(long contactID)
List<ContactTag> GetAll()
List<ContactTagDetail> GetAllDetails()
class ContactTagDetail
{
public Contact Contact {get;set;}
public ContactTag COntactTag {get;set;}
}
當我需要一個接觸我調用方法contactrepository,同爲contacttag
但是當我需要聯繫和標記在一起時,我在ContactTag存儲庫中調用GetDetais()它不返回COntactTag實體由orm生成insted其返回的ContactTagDetail實體conatining由orm生成的COntact和COntactTag,我知道我可以在COntactTag存儲庫中簡單調用GetAll並可以訪問Contact.ContactTag,但作爲它的LINQ到SQL它將沒有選項延遲加載在查詢級別,所以每當我需要一個實體與相關實體我創建了一個投影類
另一個疑問是我真的需要權利的方法我能做到這一點在雙方接觸& ContactTag repostitory像在接觸庫GetALlWithTags( )或其他東西,但我在做COntactTag存儲庫
你的建議是什麼?
其良好的,但是當我有很多相關的實體庫,在這裏,我會寫的插入/刪除等方法, – MindlessProgrammer 2010-04-09 20:19:19
你可以將它們全部放在一個存儲庫中,只要它們作爲「工作單元」相關聯即可。 – 2010-04-09 20:33:58