2015-02-05 7 views
0

ServiceStack.Ormlite позволяет использовать атрибут Schema для декорирования классов таблицы базы данных, чтобы обозначить, к какой схеме они принадлежат в базе данных.Можно ли указать схему для функции Auth FeatureStack?

Это замечательно для всех таблиц, кроме, как представляется, созданных функцией Auth. Можно ли указать, к какой схеме должны принадлежать таблицы Auth? Я бы предпочел не использовать пользовательские классы для украшения атрибута Schema.

Если нет, я думаю, что я должен попросить изменение где-нибудь?

EDIT 1 - следующее предложение mythz в

Я добавил атрибут в моей инициализации конструктора ..

public class AuthenticationInitialisation : AppInitialisation 
{ 
    private readonly IAppSettings _appSettings; 

    public AuthenticationInitialisation(IAppSettings appSettings) 
    { 
     _appSettings = appSettings; 
     typeof(UserAuth).AddAttributes(new SchemaAttribute("Admin")); 
     typeof(UserAuthDetails).AddAttributes(new SchemaAttribute("Admin")); 
     typeof(UserAuthRole).AddAttributes(new SchemaAttribute("Admin")); 
    }... 

Я удалил схему по умолчанию из моего SQL пользователя и я получаю сообщение об исключение на DropAndRecreateTables() ...

var authRepo = (OrmLiteAuthRepository)appHost.TryResolve<IUserAuthRepository>(); 
if (_appSettings.Get("RecreateAuthTables", false)) 
    authRepo.DropAndReCreateTables(); //Drop and re-create all Auth and registration tables 
else... 

исключение читает

Невозможно отказаться от таблицы «UserAuth», потому что она не существует или у вас нет разрешения.

засвидетельствованные SQL Profiler показывая следующие передается через SQL Server

DROP TABLE "UserAuth" 

EDIT 2 - следующие изменения в MyGet пре-релиз ServiceStack версии

Сейчас я получаю следующее ошибка.

Исключение типа «System.MissingMethodException» происходит красный ServiceStack.dll, но не был обработан в пользовательском коде

Дополнительная информация: Метод не найден: Пустота ServiceStack.MetadataTypesConfig..ctor (System.String, Boolean, Boolean, Boolean, Boolean, Boolean, Boolean, System. String, Boolean, Boolean, Boolean, Boolean, Boolean, System.Nullable`1) '.

Трассировка стека ..

на ServiceStack.NativeTypesFeature..ctor() в ServiceStack.ServiceStackHost..ctor (String SERVICENAME, Сборочные [] assembliesWithServices) в ServiceStack.Host.HttpListener. HttpListenerBase..ctor (String serviceName, Assembly [] assemblyliesWithServices) at ServiceStack.AppHostHttpListenerBase..ctor (String serviceName, Assembly [] assemblyliesWithServices) в MyProduct.AppHost..ctor (инициализация IEnumerable`1) в d: \ dev \ App_Code \ AppHost.cs: строка 14 в MyProduct.G lobal.Application_Start (отправитель объекта, EventArgs e) в d: \ dev \ Global.asax.cs: строка 29

на моем конструкторе AppHost ..

public AppHost(IEnumerable<IAppInitialisation> initialisations) : base("RESTful Web API", typeof(SystemsService).Assembly) 
{ 
    if (initialisations == null) 
    { 
     _initialisations = new IAppInitialisation[0]; 
    } 
    else 
    { 
     _initialisations = initialisations.ToArray(); 
    } 
} 

Если использование схем происходит в следующем выпуске ServiceStack тогда я буду просто ждать и установить Схему SQL пользователя по умолчанию на данный момент ..

ответ

0

Попробуйте добавить атрибут схемы в таблицах USERAUTH динамически , то есть:

typeof(UserAuth) 
    .AddAttributes(new SchemaAttribute("MySchema")); 

typeof(UserAuthDetails) 
    .AddAttributes(new SchemaAttribute("MySchema")); 
+0

Спасибо за возвращение мне @mythz - Я обновил этот вопрос с выводами вашего Предложенное решение – Drammy

+0

@Drammy Ммм выглядит как я только расширил схемы, чтобы поддерживать падение/Создание таблиц API, недавно [из этой фиксации] (https: // githu b.com/ServiceStack/ServiceStack.OrmLite/commit/103c0410c39d3033598e05629c1705decc564e34). Можете ли вы попробовать еще раз с [последним предварительным выпуском v4.0.37 в MyGet] (https://github.com/ServiceStack/ServiceStack/wiki/MyGet). Также вы хотите, чтобы любые динамические атрибуты были добавлены до любой конфигурации/инициализации отпечатков, которые их используют. – mythz

+1

спасибо за помощь @mythz - вы должны быть плоскими, поддерживая отличный продукт, поддерживая сообщество, как и вы! В любом случае, если использование схем идет в следующую версию, я просто подожду до этой версии и установлю схему по умолчанию SQL User по умолчанию. – Drammy

 Смежные вопросы

  • Нет связанных вопросов^_^