我正在使用servicestack,並且計劃使用ormlite作爲數據訪問層。 我有這些表(SQL Server 2005中)使用ServiceStack.ORMLite構建存儲庫
Table ITEM
ID PK
...
Table SUBITEM1
ID PK FK -> ITEM(ID)
...
Table SUBITEM2
ID PK FK -> ITEM(ID)
...
Table POST
ID PK
...
Table COMMENT
ID PK
...
Table DOWNLOAD
ID PK
...
Table POST_COMMENT
ID PK
POST_ID FK -> POST(ID)
COMMENT_ID FK -> COMMENT(ID)
Table DOWNLOAD_COMMENT
ID PK
DOWNLOAD_ID FK -> DOWNLOAD(ID)
COMMENT_ID FK -> COMMENT(ID)
我創建了一個類爲每個表和使用註釋(自動增量,參考文獻等)映射到它們。
我決定爲每個「實體」(item,post,comment,download)創建一個存儲庫。 每個存儲庫包含基本的CRUD邏輯,例如
例如。 1 CommentRepository具有執行db.Insert(註釋,關係)的保存(評論評論,對象關係),其中關係是PostComment或DownloadComment。
例如。 2 PostRepository具有執行插入到POST的Save(Post p)。
我不確定這個解決方案,因爲存儲庫接口是不同的,我不能做多態查詢。
你能提供任何建議來改善我的DAL嗎?
感謝您的關注。
喜mythz,我真的更加感激吃了你的答案。 –
投票是如何欣賞顯示在StackOverflow :) – mythz
嗨mythz,我真的很感激你的答案。我可以根據您的建議修改發佈,下載和評論之間的多對多關係,但我無法修改項目/子項目層次結構。的SubItem1和SubItem2是項目的子類,因爲有填充這些表的觸發器我不能使用BLOB數據。 –