为什么 BLToolkit 在生成的查询中插入 \0 而不是 '@' 符号?
Why BLToolkit inserts \0 instead of '@' symbol in generated queries?
我将 BLToolkit 与 mysql 一起使用,当我尝试将记录插入 table 时,我收到这样的查询:
INSERT INTO `P`
(
`Name`
)
VALUES
(
[=10=]Name
);
如您所见,这不是最好的 mysql 查询。
类:
public class P
{
[PrimaryKey]
[Identity]
public int? ID { get; set; }
public string Name { get; set; }
}
插入代码:
var p = new P();
p.Name = "asdf";
p.ID = (int) db.InsertWithIdentity(p);
你知道吗,这是怎么回事?
我检查了所有 BLToolkit 代码,你知道我发现了什么吗??
错误出在我的 MySqlDataProvider 中,我使用的是旧版本...
这里是正确的:https://github.com/igor-tkachev/bltoolkit/blob/master/Source/Data/DataProvider/MySqlDataProvider.cs
我的错误在这里:
public static char ParameterSymbol
{
get { return MySqlSqlProvider.ParameterSymbol; }
set { MySqlSqlProvider.ParameterSymbol = value; }
}
我没有设置 MySqlSqlProvider.ParameterSymbol
属性,我的代码只是将值存储在本地...
我将 BLToolkit 与 mysql 一起使用,当我尝试将记录插入 table 时,我收到这样的查询:
INSERT INTO `P`
(
`Name`
)
VALUES
(
[=10=]Name
);
如您所见,这不是最好的 mysql 查询。
类:
public class P
{
[PrimaryKey]
[Identity]
public int? ID { get; set; }
public string Name { get; set; }
}
插入代码:
var p = new P();
p.Name = "asdf";
p.ID = (int) db.InsertWithIdentity(p);
你知道吗,这是怎么回事?
我检查了所有 BLToolkit 代码,你知道我发现了什么吗??
错误出在我的 MySqlDataProvider 中,我使用的是旧版本...
这里是正确的:https://github.com/igor-tkachev/bltoolkit/blob/master/Source/Data/DataProvider/MySqlDataProvider.cs
我的错误在这里:
public static char ParameterSymbol
{
get { return MySqlSqlProvider.ParameterSymbol; }
set { MySqlSqlProvider.ParameterSymbol = value; }
}
我没有设置 MySqlSqlProvider.ParameterSymbol
属性,我的代码只是将值存储在本地...