如果使用linq2db从类定义中创建表,请帮助我如何设置列排序规则? 我正在使用linq2db 2.6.3从SQLite本地应用程序数据库中获取数据
应用程序中有一种工作模式,如果数据库不存在,则会创建数据库。
它看起来像.when('/subpath') {
template: '<templatePath>',
controller: '<controllerName>',
reloadOnSearch: false
}
的方法,并且数据库是使用DataConnection.CreateTable扩展构建的
Code first
默认情况下,SQLite的文本列具有区分大小写的列排序规则。
我想像
那样使用void CreateTableIfNotExists<TDto>(DataConnection conn)
{
var sp = conn.DataProvider.GetSchemaProvider();
var dbSchema = sp.GetSchema(conn);
var tableName = typeof(TDto).Name;
if (!dbSchema.Tables.Any(t => t.TypeName == tableName))
{
//no required table-create it
conn.CreateTable<TDto>();
}
}
创建文本列
COLLATE NOCASE
我发现做到这一点的唯一方法是设置列格式并将create table Test (
Name nvachar(255) null COLLATE NOCASE
)
附加到格式字符串,如下所示
COLLATE NOCASE
它可以工作,但是有没有更方便的方法来实现相同目的?