Azure TableServiceContext文件中的许多表或一个表?

时间:2011-01-31 12:53:41

标签: azure azure-storage azure-table-storage

我正在创建一个Azure应用程序,该应用程序将使用大约十个ttorage表。我想采用最佳实践,但我不确定是否应该只有一个文件包含dataservicecontext.cs文件中的所有表,或者我是否应该为每个表使用不同的文件。在我看来,两种方式都达到了同样的目的。其他人对什么是最佳做法有意见?

public class ContactDataServiceContext
    : TableServiceContext
{
    public ContactDataServiceContext(string baseAddress,
        StorageCredentials credentials)
        : base(baseAddress, credentials)
    {
    }

    public const string ContactTableName = "ContactTable";

    public IQueryable<ContactDataModel> ContactTable
    {
        get
        {
            return this.CreateQuery<ContactDataModel>(ContactTableName);
        }
    }

}


namespace NerdDinner.Models
{
    public class NerdDinnerDataContext : TableStorageDataServiceContext
    {
        /// <summary>
        /// Define an entry-point into our table.  Dinners represents an "EntitySet".
        /// </summary>
        public DataServiceQuery<Dinner> Dinners
        {
            get
            {
                //Create the root of a LINQ query of type Dinner against the table Dinners
                return this.CreateQuery<Dinner>("Dinners");
            }
        }

        public DataServiceQuery<RSVP> RSVPs
        {
            get
            {
                //Create the root of a LINQ query of type RSVP against the table RSVPs
                return this.CreateQuery<RSVP>("RSVPs");
            }
        }

    }
}

2 个答案:

答案 0 :(得分:0)

对我而言,这归结为代码可维护性。如果您喜欢许多类,以便一个类的大小不会变得太大,那么将这些类拆分成单独的类可能是要走的路。

答案 1 :(得分:0)

通常没有太多的表实现,所以我认为每个表和部分类都有一个文件有点乱。您可能希望对它们进行逻辑分组,因此我建议每个Context使用它的关联表创建一个文件。