问题
Anyone know how to apply the correct Alias attribute to query tables with schema names?
I have a table called accounts.register
. I've tried using [Alias("accounts.register")]
as the class decorator attribute for Register class but this doesn't work.
If I change the schema to dbo
then I can remove the alias and everything works. Unfortunately I have a legacy system with many schemas so I need this to work.
回答1:
OK I figured it out. Along with the Alias attribute is the Schema attribute. The former is in the ServiceStack.DataAnnotations namespace but the latter is in the ServiceStack.OrmLite namespace. Here's an example to map fields field1 & field2 to/from 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; }
}
来源:https://stackoverflow.com/questions/13945563/using-schema-names-with-sql-server-servicestack-ormlite