[]
此特性为活字格V9.1新增功能。
public class MyPluginCommand : Command
{
[DatabaseConnectionSelectorProperty]
public string Connection { get; set; }
}
在设计器中效果如下:
在数据库连接管理中连接了一些外链数据库之后:
可以通过标注了DatabaseConnectionSelectorProperty的属性选择特定数据库。
使用数据库连接名可以在服务端代码中使用。
public async void ExampleForDataConnectionAsync(string connectionName, IDataAccess dataAccess)
{
var connectionStr = dataAccess.GetConnectionStringByID(connectionName);
dataAccess.BeginTransaction(connectionStr);
try
{
var result = await dataAccess.ExecuteSqlAsync(connectionName, "select * from 表1", null);
dataAccess.CommitTransaction(connectionStr);
}
finally
{
dataAccess.RollbackTransaction(connectionStr);
}
}
如果需要更细致的控制,可以通过DatabaseConnectionSelectorProperty的其他属性来控制。
(空)显示为内建库
设置DatabaseConnectionSelectorProperty的IncludeBuiltInDatabase属性。
代码:
public class MyPluginCommand : Command
{
[DatabaseConnectionSelectorProperty(IncludeBuiltInDatabase = true)]
public string Connection { get; set; }
}
效果:
说明:对于内建数据库(Sqlite)连接名称为null。
注意:标注DatabaseConnectionSelectorProperty的属性类型必须是 string。