Dapperplus 添加轮到 bulkinsert

Dapperplus add round to bulkinsert

我们从 dapper 切换到 dapper plus 以提高批量插入的性能。

现在我正在转换所有现有查询,但我发现了一些我显然无法使用 dapper plus 实现的功能(或者我还不知道如何实现)

在我之前的查询中,我将查询中的值四舍五入,并将其转换为:

DapperPlusManager.Entity<Model>().Table("Table").Identity("ID")
                .Map(x => x.Id, "ID")
                .Map(x => x.Timestamp, "Timestamp")
                .Map(x => x.Latitude, "GPS latitude")
                .Map(x => x.Longitude, "GPS longitude")
                .Map(x => x.Direction, "ROUND(Direction (°)::numeric, 1)")
                .Map(x => x.Speed, "ROUND(Speed (kph)::numeric, 1)")
                .Map(x => x.DeviceId, "DEVICE_ID");

但显然在列名内舍入并没有真正起作用。还有其他方法可以解决这个问题吗?

可以在数据库中进行舍入,但这在映射过程中更容易进行。

DapperPlusManager.Entity<Model>().Table("Table").Identity("ID")
            .Map(x => x.Id, "ID")
            .Map(x => x.Timestamp, "Timestamp")
            .Map(x => x.Latitude, "GPS latitude")
            .Map(x => x.Longitude, "GPS longitude")
            .Map(x => Math.Round(x.Direction), "Direction")
            .Map(x => Math.Round(x.Speed), "Speed")
            .Map(x => x.DeviceId, "DEVICE_ID");

如果您绝对需要在数据库中执行此操作,请告诉我,我会更新我的答案。