为什么 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 属性,我的代码只是将值存储在本地...