這是更多地與數據庫設計比asp.net具體而言,如您使用可能是一個Windows窗體應用程序的數據庫結構,Silverlight應用程序或確實是一切!
我的這種方法是將有一個表稱爲 「消息」,其具有以下結構:
的MessageId INT NOT NULL IDENTITY
FromUserId INT NOT NULL(FK到用戶表)
ToUserId INT NOT NULL(FK到用戶表)
IsDraft TINYINT
標題NVARCHAR(...)
消息體NVARCHAR(...)
這樣,您可以將所有郵件存儲在一張表中,唯一的區別是它們是否爲草稿,即它們是否對預期收件人(ToUserId
)不可見。
因此,要檢索收件箱你會使用SQL類似
SELECT * FROM Message WHERE [email protected] WHERE IsDraft=0`
要檢索某人的郵件草稿像
SELECT * FROM Message WHERE [email protected] WHERE IsDraft=1
A的用戶通過
SELECT * FROM Message WHERE [email protected] WHERE IsDraft=0
發送的郵件
如果您想轉移到「多個收件人」模式,您可以使用Message_Recipient
表輕鬆替換ToUserId
列,該表包含一個或多個包含MessageId
和ToUserId
對的記錄。
來源
2011-02-07 08:41:19
Rob
感謝您的幫助。我知道了 – user575219 2011-02-07 21:03:05