2012-12-19 14 views
11

Şema adları içeren sorgu tablolarına doğru Alias ​​özniteliğini nasıl uygulayacağını bilen var mı?SQL Server ve ServiceStack.OrmLite ile şema adlarını kullanma

accounts.register adlı bir tablom var. Kayıt sınıfı için [Alias("accounts.register")] sınıf dekoratör özniteliği kullanmayı denedim, ancak bu çalışmaz.

Şemayu dbo olarak değiştirirseniz, takma adı kaldırabilir ve her şey çalışır. Ne yazık ki, birçok şema ile eski bir sistemim var, bu yüzden işe ihtiyacım var.

cevap

20

Tamam, anladım. Alias ​​özniteliği ile birlikte Şema özniteliğidir. Eski ServiceStack.DataAnnotations ad alanında ancak ikincisi ServiceStack.OrmLite ad alanında. Eğer T4 POCO nesil kullanıyorsanız OrmLite bunu nasıl

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; } 
} 
+0

herhangi bir fikir: İşte bir örnek alanları myschema.mytable den/field1 & field2 haritaya mı? – anaximander

+0

@anaximander desteği son sürüm 4'te eklendi. Https://github.com/ServiceStack/ServiceStack.OrmLite/commit/a305464056dfa4739f77417dc9e42b323222a3f1. Kendiniz eklemek isterseniz, '[Diğer ("<#=tbl.Name#>")]' satırına '[Şema ("<# = tbl.Schema #>")]' seçeneğini ekleyebilir ve bu size Şema özelliğini ekleyecektir. gerektirir. –