私はFacebookのような通知を表示するアプリケーションを作成しています。私は、ユーザー固有の通知を保存するデータベーススキーマを持っています。通知メッセージにはプレースホルダが含まれています。例えば。我々は、通知メッセージ(通知テンプレートそれを呼び出す)の下にあるとします。あなたの写真のようなプレースホルダで動的メッセージを保存/生成するスキーマ
- {} FrinedName。
- {FriendName}はあなたのページ{PageName}に似ています。
- {FrinedName}さんが{groupName}にメッセージを投稿しました。
- 今日は{friendName}の誕生日です。
- {FriendName}と{#count}はあなたの写真
が好きなので、ここで{}内のテキストは、プレースホルダを表し、これらのプレースホルダの値は、実行時に交換する必要があります。 ここでは、これらのプレースホルダとその値のソースをデータベーステーブルに保存します。 異なるプレースホルダの値は、異なるテーブルの異なる列を参照することがあります。 (例{FriendName}の値は、{ページ名}の値がページテーブルの名列と{グループ名}の値を参照する、ユーザテーブルLoginNameに列に属していてもよいですプレースホルダは、グループテーブル名前カラムを参照してください。
したがって、プレースホルダのデータを動的に取得したいと考えています。このようなタイプのデータをデータベースに保存する最良の方法は何ですか(以下のようなものです)。
- dbo.NotificationTemplates - 表のすべての通知テンプレート
- dbo.TemplatePlaceholdersを格納するための - マッピングを格納する表 -
- dbo.TemplatePlaceholdersMappingテンプレートにプレースホルダを格納する表テンプレート内のプレースホルダの数。
- dbo.PlaceholderValueProvider - プレースホルダの値ソースを格納するテーブル。つまり、プレースホルダの値を取得する場所。