提交 9c3c52f1 编写于 作者: M Marc Gravell

Merge branch 'defaultStringType' of https://github.com/kppullin/dapper-dot-net...

Merge branch 'defaultStringType' of https://github.com/kppullin/dapper-dot-net into kppullin-defaultStringType

Conflicts:
	Dapper/SqlMapper.cs
......@@ -5258,6 +5258,11 @@ internal static void Set(IDbDataParameter parameter, DataTable table, string typ
/// </summary>
sealed partial class DbString : Dapper.SqlMapper.ICustomQueryParameter
{
/// <summary>
/// Default value for IsAnsi.
/// </summary>
public static bool IsAnsiDefault { get; set; }
/// <summary>
/// A value to set the default value of strings
/// going through Dapper. Default is 4000, any value larger than this
......@@ -5268,7 +5273,10 @@ sealed partial class DbString : Dapper.SqlMapper.ICustomQueryParameter
/// <summary>
/// Create a new DbString
/// </summary>
public DbString() { Length = -1; }
public DbString() {
Length = -1;
IsAnsi = IsAnsiDefault;
}
/// <summary>
/// Ansi vs Unicode
/// </summary>
......
......@@ -1541,6 +1541,23 @@ public void TestDbString()
((int)obj.f).IsEqualTo(10);
}
public void TestDefaultDbStringDbType()
{
var origDefaultStringDbType = DbString.IsAnsiDefault;
try
{
DbString.IsAnsiDefault = true;
var a = new DbString { Value = "abcde" };
var b = new DbString { Value = "abcde", IsAnsi = false };
a.IsAnsi.IsTrue();
b.IsAnsi.IsFalse();
}
finally
{
DbString.IsAnsiDefault = origDefaultStringDbType;
}
}
class Person
{
public int PersonId { get; set; }
......@@ -3289,7 +3306,7 @@ SELECT @a
connection.Query<TimeSpan>("#TestProcWithTimeParameter", p, commandType: CommandType.StoredProcedure).First().IsEqualTo(new TimeSpan(10, 0, 0));
}
public void DbString()
public void DbStringAnsi()
{
var a = connection.Query<int>("select datalength(@x)",
new { x = new DbString { Value = "abc", IsAnsi = true } }).Single();
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册