TableServiceContext и строго типизированное имя таблицы - PullRequest
0 голосов
/ 07 июня 2011

У меня есть DocumentDataServiceContext, полученный из TableServiceContext.Внутри этого класса у меня есть следующий метод:

public DataServiceQuery<Document> Documents
{
    get
    {
        return this.CreateQuery<Document>("Documents");
    }
}

Есть ли способ избавиться от строковой константы, переданной CreateQuery, и вместо этого получить имя таблицы, используемое CloudTableClient.CreateTablesFromModel (typeof (DocumentDataServiceContext))?

1 Ответ

1 голос
/ 07 июня 2011

Нет.В конце дня CreateQuery () должен иметь имя таблицы для запроса.Конечно, вы можете использовать соглашение или рефлексию, чтобы определить, какое имя таблицы будет в другом методе, но в какой-то момент строка должна быть передана в CreateQuery.

public DataServiceQuery<T> CreateQueryByConvention<T>()
{
     return this.CreateQuery<T>(typeof(T).ToString());
}
...