Я создаю веб-приложение MVC, которое поддерживает различные типы сообщений между пользователями.Например, некоторые сообщения связаны с запросами предложений, в то время как другие сообщения связаны со счетами.И нас могут попросить поддержать другие типы сообщений в будущем.
Итак, вот схема, которую я придумала до сих пор.
MessageThread
Id int PK
Сообщение
Id int PK
MessageThreadId int FK
UserId uniqueidentifier FK
Subject nvarchar(250)
Text nvarchar(max)
DateCreated datetime
RFPMessageThread
RFPId int PK/FK
MessageThreadId int PK/FK
InvoiceMessageThread
InvoiceId int PK/FK
MessageThreadId int PK/FK
Это должно сработать, но я сомневаюсь, что это лучший маршрут.Очевидно, что если бы у меня был только один тип сообщения, я мог бы исключить таблицу MessageThread
.
Любые предложения, рекомендации, критические замечания?