Я очень новичок в хранилище таблиц Azure, и концепция ключа секции по-прежнему является областью, в которой я еще не уверен, правильно ли я действую. Ниже предложено мое решение для хранения данных комментариев к сообщениям в блоге. Я все прокомментировал, поэтому надеюсь, что мои мысли понятны из кода.
- Ключ строки и раздела выглядит нормально?
- Действительно ли мне нужно поле с именем «CommentId»? (В примере, который я видел, не было определенного поля идентификатора, как в традиционном хранилище SQL.
- Каким должен быть объем таблицы? (В настоящее время я представляю одну таблицу для всех комментариев ко всем сообщениям в блоге.)
Спасибо за любые мысли, которые я, возможно, не рассмотрел...
-Бен
public class CommentEntity : TableEntity
{
/// <summary>
///
/// </summary>
/// <param name="CommentId">Unique identifier for the comment</param>
/// <param name="ReferencedBlogPostId">Identifier representing the post which this comment references</param>
public CommentEntity(int CommentId, int ReferencedBlogPostId)
{
this.PartitionKey = ReferencedBlogPostId.ToString();
this.RowKey = CommentId.ToString();
}
public CommentEntity() { }
// public int CommentId { get; set; } (Moved to above constructor)
// public int ReferencedBlogPostId { get; set; } (Moved to constructor)
//If this is in reply to another comment, reference that CommentId here
public int ParentCommentId { get; set; }
//Time that the post was made
public DateTime PostedTime { get; set; }
//An Id value representing the author of the comment in another datastore
public int AuthorId { get; set; }
}