Skip to content

Commit abaeb7e

Browse files
committed
- fix: AsTable
1 parent d051a27 commit abaeb7e

File tree

3 files changed

+195
-226
lines changed

3 files changed

+195
-226
lines changed

Examples/base_entity/Program.cs

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ class A
9999
public B B { get; set; }
100100
}
101101

102-
[Table(Name = "as_table_log_{yyyyMMdd}", AsTable = "createtime=2022-1-1(1 month)")]
102+
[Table(Name = "as_table_log_{yyyyMM}", AsTable = "createtime=2022-1-1(1 month)")]
103103
class AsTableLog
104104
{
105105
public Guid id { get; set; }
@@ -157,7 +157,8 @@ static void Main(string[] args)
157157
new AsTableLog{ msg = "msg04", createtime = DateTime.Parse("2022-2-8 15:00:13") },
158158
new AsTableLog{ msg = "msg05", createtime = DateTime.Parse("2022-3-8 15:00:13") },
159159
new AsTableLog{ msg = "msg06", createtime = DateTime.Parse("2022-4-8 15:00:13") },
160-
new AsTableLog{ msg = "msg07", createtime = DateTime.Parse("2022-6-8 15:00:13") }
160+
new AsTableLog{ msg = "msg07", createtime = DateTime.Parse("2022-6-8 15:00:13") },
161+
new AsTableLog{ msg = "msg07", createtime = DateTime.Parse("2022-7-1") }
161162
};
162163
var sqlatb = fsql.Insert(testitems).NoneParameter();
163164
var sqlat = sqlatb.ToSql();
@@ -187,14 +188,18 @@ static void Main(string[] args)
187188
var sqlatd501 = sqlatd5.ToSql();
188189
var sqlatd502 = sqlatd5.ExecuteAffrows();
189190

190-
var sqlatd6 = fsql.Update<AsTableLog>(Guid.NewGuid()).Set(a => a.msg == "newmsg").Where(a => a.createtime > DateTime.Parse("2022-3-1"));
191+
var sqlatd6 = fsql.Update<AsTableLog>(Guid.NewGuid()).Set(a => a.msg == "newmsg").Where(a => a.createtime > DateTime.Parse("2022-3-1") && a.createtime < DateTime.Parse("2022-5-1"));
191192
var sqlatd601 = sqlatd6.ToSql();
192193
var sqlatd602 = sqlatd6.ExecuteAffrows();
193194

194-
var sqlatd7 = fsql.Update<AsTableLog>(Guid.NewGuid()).Set(a => a.msg == "newmsg").Where(a => a.createtime < DateTime.Parse("2022-5-1"));
195+
var sqlatd7 = fsql.Update<AsTableLog>(Guid.NewGuid()).Set(a => a.msg == "newmsg").Where(a => a.createtime > DateTime.Parse("2022-3-1"));
195196
var sqlatd701 = sqlatd7.ToSql();
196197
var sqlatd702 = sqlatd7.ExecuteAffrows();
197198

199+
var sqlatd8 = fsql.Update<AsTableLog>(Guid.NewGuid()).Set(a => a.msg == "newmsg").Where(a => a.createtime < DateTime.Parse("2022-5-1"));
200+
var sqlatd801 = sqlatd8.ToSql();
201+
var sqlatd802 = sqlatd8.ExecuteAffrows();
202+
198203
fsql.Aop.AuditValue += new EventHandler<FreeSql.Aop.AuditValueEventArgs>((_, e) =>
199204
{
200205

FreeSql/DataAnnotations/TableAttribute.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,7 @@ public DateTimeAsTableImpl(string tableName, DateTime beginTime, Func<DateTime,
105105
void ExpandTable(DateTime beginTime, DateTime endTime)
106106
{
107107
if (beginTime > endTime) endTime = _nextTimeFunc(beginTime);
108-
while (beginTime < endTime)
108+
while (beginTime <= endTime)
109109
{
110110
var dtstr = beginTime.ToString(_tableNameFormat.Groups[1].Value);
111111
var name = _tableName.Replace(_tableNameFormat.Groups[0].Value, dtstr);
@@ -139,10 +139,10 @@ public string GetTableNameByColumnValue(object columnValue, bool autoExpand = fa
139139
var dt = ParseColumnValue(columnValue);
140140
if (dt < _allTablesTime.Last()) throw new Exception($"分表字段值 \"{dt.ToString("yyyy-MM-dd HH:mm:ss")}\" 不能小于 \"{_beginTime.ToString("yyyy-MM-dd HH:mm:ss")} \"");
141141
var tmpTime = _nextTimeFunc(_lastTime);
142-
if (dt > tmpTime && autoExpand)
142+
if (dt >= tmpTime && autoExpand)
143143
{
144144
// 自动建表
145-
ExpandTable(tmpTime, _nextTimeFunc(dt));
145+
ExpandTable(tmpTime, dt);
146146
}
147147
for (var a = 0; a < _allTables.Count; a++)
148148
if (dt >= _allTablesTime[a])

0 commit comments

Comments
 (0)