为什么BLToolkit会插入\ 0而不是' @'生成的查询中的符号?

时间:2015-07-31 22:29:33

标签: c# mysql insert crud bltoolkit

我将BLToolkit与mysql一起使用,当我尝试向表中插入记录时,我收到这样的查询:

INSERT INTO `P`
(
    `Name`
)
VALUES
(
    \0Name
); 

正如您所看到的,这不是最好的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);

你知道吗,发生了什么事?

1 个答案:

答案 0 :(得分:0)

我已经浏览了所有的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属性,我的代码只是在本地存储了值...