mirror of
https://github.com/nsnail/FreeSql.git
synced 2025-06-18 20:08:15 +08:00
- 优化 MySql StringLength/MaxLength -2 产生 LongText 映射;
This commit is contained in:
@ -10,6 +10,94 @@ namespace FreeSql.Tests.MySqlConnector
|
||||
{
|
||||
public class MySqlCodeFirstTest
|
||||
{
|
||||
[Fact]
|
||||
public void Text_StringLength_1()
|
||||
{
|
||||
var str1 = string.Join(",", Enumerable.Range(0, 1000).Select(a => "<22><><EFBFBD><EFBFBD><EFBFBD>й<EFBFBD><D0B9><EFBFBD>"));
|
||||
|
||||
var item1 = new TS_TEXT02 { Data = str1 };
|
||||
Assert.Equal(1, g.mysql.Insert(item1).ExecuteAffrows());
|
||||
|
||||
var item2 = g.mysql.Select<TS_TEXT02>().Where(a => a.Id == item1.Id).First();
|
||||
Assert.Equal(str1, item2.Data);
|
||||
|
||||
//NoneParameter
|
||||
item1 = new TS_TEXT02 { Data = str1 };
|
||||
Assert.Equal(1, g.mysql.Insert(item1).NoneParameter().ExecuteAffrows());
|
||||
}
|
||||
class TS_TEXT02
|
||||
{
|
||||
public Guid Id { get; set; }
|
||||
[Column(StringLength = -1)]
|
||||
public string Data { get; set; }
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void Text()
|
||||
{
|
||||
var str1 = string.Join(",", Enumerable.Range(0, 1000).Select(a => "<22><><EFBFBD><EFBFBD><EFBFBD>й<EFBFBD><D0B9><EFBFBD>"));
|
||||
|
||||
var item1 = new TS_TEXT01 { Data = str1 };
|
||||
Assert.Equal(1, g.mysql.Insert(item1).ExecuteAffrows());
|
||||
|
||||
var item2 = g.mysql.Select<TS_TEXT01>().Where(a => a.Id == item1.Id).First();
|
||||
Assert.Equal(str1, item2.Data);
|
||||
|
||||
//NoneParameter
|
||||
item1 = new TS_TEXT01 { Data = str1 };
|
||||
Assert.Equal(1, g.mysql.Insert(item1).NoneParameter().ExecuteAffrows());
|
||||
}
|
||||
class TS_TEXT01
|
||||
{
|
||||
public Guid Id { get; set; }
|
||||
[Column(DbType = "text")]
|
||||
public string Data { get; set; }
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void Text_StringLength_2()
|
||||
{
|
||||
var str1 = string.Join(",", Enumerable.Range(0, 10000).Select(a => "<22><><EFBFBD><EFBFBD><EFBFBD>й<EFBFBD><D0B9><EFBFBD>"));
|
||||
|
||||
var item1 = new TS_TEXT04 { Data = str1 };
|
||||
Assert.Equal(1, g.mysql.Insert(item1).ExecuteAffrows());
|
||||
|
||||
var item2 = g.mysql.Select<TS_TEXT04>().Where(a => a.Id == item1.Id).First();
|
||||
Assert.Equal(str1, item2.Data);
|
||||
|
||||
//NoneParameter
|
||||
item1 = new TS_TEXT04 { Data = str1 };
|
||||
Assert.Equal(1, g.mysql.Insert(item1).NoneParameter().ExecuteAffrows());
|
||||
}
|
||||
class TS_TEXT04
|
||||
{
|
||||
public Guid Id { get; set; }
|
||||
[Column(StringLength = -2)]
|
||||
public string Data { get; set; }
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void LongText()
|
||||
{
|
||||
var str1 = string.Join(",", Enumerable.Range(0, 10000).Select(a => "<22><><EFBFBD><EFBFBD><EFBFBD>й<EFBFBD><D0B9><EFBFBD>"));
|
||||
|
||||
var item1 = new TS_TEXT03 { Data = str1 };
|
||||
Assert.Equal(1, g.mysql.Insert(item1).ExecuteAffrows());
|
||||
|
||||
var item2 = g.mysql.Select<TS_TEXT03>().Where(a => a.Id == item1.Id).First();
|
||||
Assert.Equal(str1, item2.Data);
|
||||
|
||||
//NoneParameter
|
||||
item1 = new TS_TEXT03 { Data = str1 };
|
||||
Assert.Equal(1, g.mysql.Insert(item1).NoneParameter().ExecuteAffrows());
|
||||
}
|
||||
class TS_TEXT03
|
||||
{
|
||||
public Guid Id { get; set; }
|
||||
[Column(DbType = "longtext")]
|
||||
public string Data { get; set; }
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void StringLength()
|
||||
{
|
||||
|
Reference in New Issue
Block a user