- 优化 实体基类的属性位置,优先排在最前面; #164

- 整理 实体类 Ctor 有构造函数的映射处理;#164 [wiki](https://github.com/2881099/FreeSql/wiki/%e8%bf%94%e5%9b%9e%e6%95%b0%e6%8d%ae#dto-%E6%98%A0%E5%B0%84%E6%9F%A5%E8%AF%A2)
- 优化 实体属性,支持 protected set 属性;#164
This commit is contained in:
28810
2019-12-22 20:10:21 +08:00
parent 738eeb81a8
commit d5ed1c8a30
19 changed files with 226 additions and 175 deletions

View File

@ -1056,6 +1056,23 @@ WHERE (((cast(a.`Id` as char)) in (SELECT b.`Title`
a.Id,
a.Clicks
});
Assert.Equal(@"SELECT a.`Id` as1, a.`Clicks` as2
FROM (SELECT * from (SELECT a.`Id` Id, a.`Clicks` Clicks
FROM `tb_topic_1` a) ftb
UNION ALL
SELECT * from (SELECT a.`Id` Id, a.`Clicks` Clicks
FROM `tb_topic_2` a) ftb) a
limit 0,20", select
.AsTable((type, old) => type == typeof(Topic) ? $"({sqlsss})" : null)
.Page(1, 20)
.ToSql(a => new
{
a.Id,
a.Clicks
}));
}
public class TestInclude_OneToManyModel1

View File

@ -17,11 +17,7 @@ namespace FreeSql.Tests.MySql
var sql = g.mysql.CodeFirst.GetComparisonDDLStatements<<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD>2>();
g.mysql.CodeFirst.SyncStructure<<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD>2>();
var item = new <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD>2
{
<EFBFBD><EFBFBD><EFBFBD><EFBFBD> = "<22><><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD>",
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD> = DateTime.Now
};
var item = <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD>2.Create("<22><><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD>", DateTime.Now);
Assert.Equal(1, g.mysql.Insert<<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD>2>().AppendData(item).ExecuteAffrows());
Assert.NotEqual(Guid.Empty, item.<EFBFBD><EFBFBD><EFBFBD><EFBFBD>);
var item2 = g.mysql.Select<<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD>2>().Where(a => a.<EFBFBD><EFBFBD><EFBFBD><EFBFBD> == item.<EFBFBD><EFBFBD><EFBFBD><EFBFBD>).First();
@ -32,12 +28,17 @@ namespace FreeSql.Tests.MySql
class <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD>2
{
[Column(IsPrimary = true)]
public Guid <EFBFBD><EFBFBD><EFBFBD><EFBFBD> { get; set; }
public Guid <EFBFBD><EFBFBD><EFBFBD><EFBFBD> { get; protected set; }
public string <EFBFBD><EFBFBD><EFBFBD><EFBFBD> { get; set; }
public string <EFBFBD><EFBFBD><EFBFBD><EFBFBD> { get; protected set; }
[Column(ServerTime = DateTimeKind.Local)]
public DateTime <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD> { get; set; }
public DateTime <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD> { get; protected set; }
public static <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD>2 Create(string title, DateTime ctm)
{
return new <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD>2 { <EFBFBD><EFBFBD><EFBFBD><EFBFBD> = title, <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD> = ctm };
}
}
[Fact]