2017-03-28 4 views
0

私はFacebookのような通知を表示するアプリケーションを作成しています。私は、ユーザー固有の通知を保存するデータベーススキーマを持っています。通知メッセージにはプレースホルダが含まれています。例えば。我々は、通知メッセージ(通知テンプレートそれを呼び出す)の下にあるとします。あなたの写真のようなプレースホルダで動的メッセージを保存/生成するスキーマ

  1. {} FrinedName。
  2. {FriendName}はあなたのページ{PageName}に似ています。
  3. {FrinedName}さんが{groupName}にメッセージを投稿しました。
  4. 今日は{friendName}の誕生日です。
  5. {FriendName}と{#count}はあなたの写真

が好きなので、ここで{}内のテキストは、プレースホルダを表し、これらのプレースホルダの値は、実行時に交換する必要があります。 ここでは、これらのプレースホルダとその値のソースをデータベーステーブルに保存します。 異なるプレースホルダの値は、異なるテーブルの異なる列を参照することがあります。 (例{FriendName}の値は、{ページ名}の値がページテーブルの列と{グループ名}の値を参照する、ユーザテーブルLoginNameに列に属していてもよいですプレースホルダは、グループテーブル名前カラムを参照してください。

したがって、プレースホルダのデータを動的に取得したいと考えています。このようなタイプのデータをデータベースに保存する最良の方法は何ですか(以下のようなものです)。

  1. dbo.NotificationTemplates - 表のすべての通知テンプレート
  2. dbo.TemplatePlaceholdersを格納するための - マッピングを格納する表 -
  3. dbo.TemplatePlaceholdersMappingテンプレートにプレースホルダを格納する表テンプレート内のプレースホルダの数。
  4. dbo.PlaceholderValueProvider - プレースホルダの値ソースを格納するテーブル。つまり、プレースホルダの値を取得する場所。

答えて

0

私の提案スカラー関数を使用することで、あなたはスカラー関数で複数の条件を持っているし、最後に、1列

であなたの結果を返すことができます
関連する問題