将模式名称与SQL Server和ServiceStack.OrmLite一起使用

Nei*_*son 12 sql-server ormlite-servicestack

任何人都知道如何应用正确的Alias属性来查询具有模式名称的表?

我有一张叫做的桌子accounts.register.我已经尝试使用[Alias("accounts.register")]Register类的类装饰器属性,但这不起作用.

如果我将模式更改为dbo然后我可以删除别名,一切正常.不幸的是,我有一个遗留系统有很多模式,所以我需要这个工作.

Nei*_*son 21

好的,我明白了.与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; }
}
Run Code Online (Sandbox Code Playgroud)