小编VAA*_*AAA的帖子

对实体进行分组和求和

我有以下 SQL 查询,我尝试将其转换为 LINQ,但没有成功:

select 
at.financialaccountid,
SUM(creditamount)-SUM(debitamount)
from account_transactions at
where at.financialaccountid = 47
and ledgervisible = 1
GROUP BY at.financialaccountid
Run Code Online (Sandbox Code Playgroud)

查询结果

希望有人可以指导我。

谢谢。

sql linq linq-to-entities

4
推荐指数
1
解决办法
7884
查看次数

如何格式化带有前导零且没有分隔符的小数?

我需要将十进制值格式化为 8 个位置,其中最后 2 位数字保留用于十进制值。

格式应为:00000000(其中最后 2 个零表示十进制值)。

例子:

十进制值:193.45

结果应该是:0000019345

十进制值:245

结果应该是:0000024500

我知道我可以使用string.format("{format here}", value).ToString("format here")不知道使用什么字符串格式。

c# string-formatting

4
推荐指数
1
解决办法
3432
查看次数

如何提高查询NOT IN的性能

我有以下SQL查询.

SELECT em.employeeid, tsi.timestamp
FROM timesheet_temp_import tsi
JOIN employee emp ON emp.employeeid = tsi.credentialnumber
WHERE
tsi.masterentity = 'MASTER' AND
tsi.timestamp NOT IN
(
    SELECT ea.timestamp 
    FROM employee_attendance ea 
    WHERE 
    ea.employeeid = em.employeeid
    AND ea.timestamp =  tsi.timestamp
    AND ea.ismanual = 0
)
GROUP BY em.employeeid, tsi.timestamp
Run Code Online (Sandbox Code Playgroud)

此查询比较导入表(具有员工时间和出勤时间戳).

有时候timesheet_temp_import有超过95,000行,我的查询显示员工的时间戳.如果员工已经存在时间戳,那么我必须将其排除.

查询正在运行,但是花了4分多钟,所以我想知道我是否可以改进NOT IN其他语句,这可以帮助我减少这段时间.

sql t-sql sql-server performance notin

4
推荐指数
1
解决办法
107
查看次数

任务继续执行多项任务

我有一个方法将一个文件上传到服务器.现在除了方法上的任何不良编码之外还在工作(我是Task的新手).

以下是将文件上传到服务器的代码:

private async void UploadDocument()

{
    var someTask = await Task.Run<bool>(() =>
    {
        // open input stream
        using (System.IO.FileStream stream = new System.IO.FileStream(_cloudDocuments[0].FullName, System.IO.FileMode.Open, System.IO.FileAccess.Read))
        {
            using (StreamWithProgress uploadStreamWithProgress = new StreamWithProgress(stream))
            {
                uploadStreamWithProgress.ProgressChanged += uploadStreamWithProgress_ProgressChanged;

                // start service client
                SiiaSoft.Data.FieTransferWCF ws = new Data.FieTransferWCF();

                // upload file
                ws.UploadFile(_cloudDocuments[0].FileName, (long)_cloudDocuments[0].Size, uploadStreamWithProgress);

                // close service client
                ws.Close();
            }
        }

        return true;

    });

}
Run Code Online (Sandbox Code Playgroud)

然后我有一个ListBox,我可以拖放多个文件,所以我想做的是在ListBox文件中做一个FOR LOOP然后调用UploadDocument();但是我想首先在listBox中上传第一个文件然后在完成后继续第二个文件档案等......

关于最佳方法的任何线索?

非常感谢.

c# task-parallel-library async-await

3
推荐指数
1
解决办法
1617
查看次数

SQL Server序列差距

我有一个SEQUENCE用于设置表的事务对开的表:

CREATE SEQUENCE [Seq].[Folio] 
 AS [bigint]
 START WITH 114090
 INCREMENT BY 1
 MINVALUE -9223372036854775808
 MAXVALUE 9223372036854775807
 CACHE
Run Code Online (Sandbox Code Playgroud)

今天只是为了好奇我做了一个:

SELECT folio 
FROM transactions
ORDER BY folio DESC
Run Code Online (Sandbox Code Playgroud)

如果有差距会有什么意外,因此表中缺少对开页.

例:

  • 898,897,894,892,890,889 ......

这意味着事情正在发生.只是为了提供更多信息,INSERT我使用的存储过程之前有以下内容INSERT INTO...

DECLARE @numfolio int

SELECT @numfolio = NEXT VALUE FOR  Seq.Folio
Run Code Online (Sandbox Code Playgroud)

从我的应用程序保存信息时,我使用了数据库事务,所以如果一切顺利,那么应用程序会执行COMMIT TRANSACTION,如果不是,我会执行此操作ROLLBACK TRANSACTION.

我认为问题的根源是事务,所以当出现错误NEXT VALUE时,序列已经生成,并且ROLLBACK对此没有影响.

有任何线索如何解决这个问题,以便有一个没有间隙的完美序列?

c# sql sql-server sqltransaction

3
推荐指数
1
解决办法
628
查看次数

c#object.Dispose()或object = null

嗨,我有一个对象是Disposable,我想知道什么是更好的:

this.object.Dispose();
Run Code Online (Sandbox Code Playgroud)

要么

this.object = null;
Run Code Online (Sandbox Code Playgroud)

要么

this.object.Dispose();
this.object = null;
Run Code Online (Sandbox Code Playgroud)

.net c# dispose

3
推荐指数
1
解决办法
5335
查看次数

Task.Continuewith(在当前线程上)

我有一个方法,使用以下代码:

object frm = null;

// shows the overlay loading mask
Core.ShowLoadingMask("Please wait...");

// start task
Task.Factory.StartNew(() => {

    // go to server and get the data
    var employee = new Data.Entities.Employee(employeeId);

    // instantiate the class type (reflection)
    frm = Activator.CreateInstance(type, employee );

}).ContinueWith((task) => {

    // hide loading mas
    Core.HideLoadingMask();

    if (frm != null) this.Panel.Controls.Add(frm);

});
Run Code Online (Sandbox Code Playgroud)

那么,我如何强制ContinueWith()强制使用当前线程的代码,或者我做错了.

我需要的过程是:

  1. 在从服务器获取数据之前显示加载掩码
  2. 从服务器获取数据(可能需要3秒)
  3. 之后,退出任务并隐藏加载掩码.

任何线索?

c# winforms task-parallel-library async-await

3
推荐指数
1
解决办法
1464
查看次数

如何通过 Pull Request 工作流程使用 Github 发布功能

我在 Github 上有一个项目,所有团队都使用 Pull Request 工作流程。所以每个开发人员都有一个主存储库的分叉。

解决添加新功能问题的过程如下:

  1. 开发人员在其本地存储库中创建一个分支(从 master 分叉)
  2. 开发人员开始处理解决问题的票证
  3. 一旦开发人员完成了票证,他就会将更改提交到本地存储库,并将更改推送到 Github 中的 Fork
  4. 然后,他从该分支向 Master 请求一个 Pull 请求
  5. 团队负责人访问主存储库并验证拉取请求并接受更改并将其合并到主存储库。

当我们要发布时,发布的代码来自 Master 存储库,但我们希望像 Master 中的代码的基线一样,这样任何其他接受并合并到 Master 中的 Pull 请求都不会更改我们的代码即将发布。

我们是否可以使用来自 Github 的发布功能在某个时刻获取 Master 存储库代码的副本,并保持该代码不变,即使某些新的 Pull 请求合并到 master 中也是如此?

github pull-request github-release

3
推荐指数
1
解决办法
8461
查看次数

C# blazor 如何将列表传递到页面

我有第二个页面接收以下参数:

@page "/newrecord/{Employees}"
@inject HttpClient http

<h1>@Employees.Count</h1>

@code {
    [Parameter]
    public List<Model.Employees> Employees{ get; set; }
}
Run Code Online (Sandbox Code Playgroud)

在我的主页上,当单击如下按钮时,我会传递列表:

List<Model.Employees> selected { get; set; }

private void OnAddRecord()
    {
        NavigationManager.NavigateTo($"newrecord/{this.selected}");
    }
Run Code Online (Sandbox Code Playgroud)

单击按钮时出现错误,我可以看到 URL 的格式如下:

在此输入图像描述

如何将该对象传递到第二页?我是否必须使用 LocalStorage?或者使用其他类型的对象?

blazor blazor-server-side blazor-client-side

3
推荐指数
1
解决办法
8485
查看次数

Razor 输入元素自定义属性

您好,我需要执行以下操作:

@Html.TextBoxFor(m => m.Login, 
                 new { 
                       @class = "form-control", 
                       @placeholder = "Username", 
                       required="true" data-required-message="Please insert your name" 
                     })
Run Code Online (Sandbox Code Playgroud)

但是我遇到错误data-required-message似乎我不能使用“-”。

有什么线索吗?

asp.net-mvc razor

2
推荐指数
1
解决办法
2773
查看次数