mirror of
https://github.com/nsnail/FreeSql.git
synced 2025-06-18 20:08:15 +08:00
- 优化 ToSql FieldAliasOptions.AsProperty 别名问题;#467
This commit is contained in:
@ -9,6 +9,21 @@
|
||||
编号
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:FreeSql.Tests.Issues._467.PayOrder.Money">
|
||||
<summary>
|
||||
收款金额
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:FreeSql.Tests.Issues._467.PayOrder.OrderTime">
|
||||
<summary>
|
||||
订单时间
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:FreeSql.Tests.Issues._467.PayOrder.PayOrderId">
|
||||
<summary>
|
||||
支付Id
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:FreeSql.Tests.MySql.MySqlCodeFirstTest.Tb_alltype.Save">
|
||||
<summary>
|
||||
保存或添加,如果主键有值则尝试 Update,如果影响的行为 0 则尝试 Insert
|
||||
|
65
FreeSql.Tests/FreeSql.Tests/Issues/467.cs
Normal file
65
FreeSql.Tests/FreeSql.Tests/Issues/467.cs
Normal file
@ -0,0 +1,65 @@
|
||||
using FreeSql.DataAnnotations;
|
||||
using Newtonsoft.Json;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Diagnostics;
|
||||
using System.Text;
|
||||
using System.Threading;
|
||||
using Xunit;
|
||||
|
||||
namespace FreeSql.Tests.Issues
|
||||
{
|
||||
public class _467
|
||||
{
|
||||
[Fact]
|
||||
public void SelectTest()
|
||||
{
|
||||
IFreeSql fsql = new FreeSql.FreeSqlBuilder()
|
||||
.UseConnectionString(FreeSql.DataType.PostgreSQL, "Host=192.168.164.10;Port=5432;Username=postgres;Password=123456;Database=tedb;Pooling=true;Maximum Pool Size=1")
|
||||
//.UseNameConvert(FreeSql.Internal.NameConvertType.ToUpper)
|
||||
.UseGenerateCommandParameterWithLambda(true)
|
||||
.UseAutoSyncStructure(true)
|
||||
.UseMonitorCommand(cmd => Trace.WriteLine("\r\n线程" + Thread.CurrentThread.ManagedThreadId + ": " + cmd.CommandText))
|
||||
.Build();
|
||||
|
||||
var orderSql = fsql
|
||||
.Select<PayOrder>()
|
||||
.As(nameof(PayOrder).ToLower())
|
||||
.Where(p => p.Status == 1)
|
||||
.ToSql(p => new
|
||||
{
|
||||
p.PayOrderId,
|
||||
p.Money,
|
||||
p.OrderTime
|
||||
}, FreeSql.FieldAliasOptions.AsProperty);
|
||||
|
||||
Assert.Equal(@"SELECT payorder.""PayOrderId"", payorder.""Money"", payorder.""OrderTime""
|
||||
FROM ""pay_order"" payorder
|
||||
WHERE (payorder.""Status"" = 1)", orderSql);
|
||||
}
|
||||
|
||||
[JsonObject(MemberSerialization.OptIn), Table(Name = "pay_order", DisableSyncStructure = true)]
|
||||
public partial class PayOrder
|
||||
{
|
||||
/// <summary>
|
||||
/// 收款金额
|
||||
/// </summary>
|
||||
[JsonProperty, Column(DbType = "money")]
|
||||
public decimal Money { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 订单时间
|
||||
/// </summary>
|
||||
[JsonProperty, Column(DbType = "timestamptz")]
|
||||
public DateTime? OrderTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 支付Id
|
||||
/// </summary>
|
||||
[JsonProperty, Column(StringLength = 50)]
|
||||
public string PayOrderId { get; set; }
|
||||
|
||||
public int Status { get; set; }
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user