Подтвердить что ты не робот

Использование имен схем с SQL Server и ServiceStack.OrmLite

Кто-нибудь знает, как применить правильный атрибут Alias ​​для запроса таблиц с именами схем?

У меня есть таблица под названием accounts.register. Я попытался использовать [Alias("accounts.register")] как атрибут декоратора класса для класса Register, но это не работает.

Если я изменю схему на dbo, тогда я смогу удалить псевдоним, и все будет работать. К сожалению, у меня есть унаследованная система со многими схемами, поэтому мне нужно это для работы.

4b9b3361

Ответ 1

ОК, я понял. Наряду с атрибутом Alias ​​атрибут Schema. Первый находится в пространстве имен ServiceStack.DataAnnotations, но последний находится в пространстве имен ServiceStack.OrmLite. Здесь приведен пример отображения полей field1 и field2 в/из myschema.mytable:

using System;
using ServiceStack.OrmLite;
using ServiceStack.DataAnnotations;

[Schema("myschema")]
[Alias("mytable")]
public class MyEntity
{
    [PrimaryKey]
    [AutoIncrement]
    public long Id { get; set; }

    [Alias("field1")]
    public string SomeField1 { get; set; }

    [Alias("field1")]
    public string SomeField2 { get; set; }
}