在我的系統中,許多實體需要具有附件。設計通用附件EF代碼中的SQL表/實體 - 首先
例如,Mission實體需要自己的附件,也包括Activity,Projects等。
問題是如何設計附件表?
- 每個實體的附件表,如MissionsAttachments,ActivitiesAttachments等?
- 系統中所有附件的一張表?如果是這樣,每個附件的標識符是什麼?
的我怎麼可以創建一個通用的裝配臺,將成爲整個系統的任何想法?
在我的系統中,許多實體需要具有附件。設計通用附件EF代碼中的SQL表/實體 - 首先
例如,Mission實體需要自己的附件,也包括Activity,Projects等。
問題是如何設計附件表?
的我怎麼可以創建一個通用的裝配臺,將成爲整個系統的任何想法?
我只需要一個附件表和一個表來說明實體。例如:
Entities Table:
==============
EntityId
EntityName
Attachments Table:
=================
AttachmentId
EntityId
Attachment
如果你想有一個通用的附件表,你可以做到以下幾點:
create table attachments
(attachment_id int not null,
parent_id int not null,
parent_type varchar(32) not null,
other_cols_here,
primary key(attachment_id))
這將讓你有獨立的實體表(這樣你就不必總是有一些通用表格中的任務,活動等)。要查找,也就是說,一個任務的附件,你必須做的:select * from attachments where parent_id = MISSION_ID and parent_type = 'mission'
這樣做的缺點,當然,是你放棄對用於PARENT_ID任務表的外鍵約束的能力。
問題是,並非所有的答案都是答案。 –
Marc,我剛剛回顧了我的問題的答案,並將答案標記爲答案。 –
太好了 - 謝謝! –