是否可以在运行时使用OrmLite定义动态模式。例如,当通过OrmLite读取对象时,可以定义从哪个模式读取它。
这将通过一个例子得到最好的展示。假设我在MSSQL 2008 R2数据库中有3个用户表:
Schema1.user Schema2.User Schema3.User
我有一个对象用户定义了一些属性。我选择像这样的数据“db.Select();”。问题是我还没有定义从哪个架构读取用户数据。我希望能够在运行时执行此操作,但我似乎无法找到属性方法来执行此操作。
使用C#,. NET 4.5 fw,MSSQL 2008 R2数据库
谢谢!
答案 0 :(得分:1)
您可以通过修改为每种类型维护的OrmLite元数据来实现此目的,即:
var modelDef = SqlServerOrmLiteDialectProvider.GetModelDefinition(typeof(Poco));
var existingSchema = modelDef.Schema;
modelDef.Schema = "Schema2";
// All queries on Poco now use `Schema2`
modelDef.Schema = existingSchema; //Retain existing behavior
答案 1 :(得分:0)