小编Sel*_*ien的帖子

十进制SQL Server EF C#的参数超出范围异常

我要么发疯,要么就完全想念这里的东西。我正在尝试使用“ TimeWorked”属性提交一个时间条目,该属性在SQL Server中的数据类型为decimal(4,2)。

当我尝试将TimeWorked的值添加为10.00的时间条目时,出现以下错误。

错误

在此处输入图片说明

插入代码

using (var context = new ProjectTrackingDb())
{
    TimeEntry entry = new TimeEntry
    {
        ProjectName = SelectedProject.ProjectName,
        Phase = SelectedProject.Phase,
        Code = SelectedClassification.Code,
        TimeWorked = TimeEntry.TimeWorked,
        Description = TimeEntry.Description,
        UserName = CurrentUserName,
        Date = TimeEntry.Date
    };
    context.TimeEntries.Add(entry);
    context.SaveChanges();  
}
Run Code Online (Sandbox Code Playgroud)

数据库模型

[Table("TimeEntry")]
public partial class TimeEntry
{
    [Key]
    public int EntryID { get; set; }

    public decimal TimeWorked { get; set; }

    [Column(TypeName = "text")]
    [Required]
    public string Description { get; set; }

    [Column(TypeName = "date")] …
Run Code Online (Sandbox Code Playgroud)

c# sql-server wpf entity-framework

5
推荐指数
1
解决办法
101
查看次数

NPOI C# 将列设置为适合一页

我在我的 C# 应用程序中使用 NPOI 版本 2.5.3 并尝试设置缩放选项(在 1 页上适合所有列)。从这里这里的这些问题中,这似乎很容易做到。

问题:

因此,使用下面的代码时会出现我的问题。所做的只是配置;适合一页的宽度和高度。我认为这是因为sheet.FitToPage = true

private void SetPrintSettings(XSSFSheet sheet)
{
    sheet.SetMargin(MarginType.BottomMargin, 0.5);
    sheet.SetMargin(MarginType.TopMargin, 0.5);
    sheet.SetMargin(MarginType.LeftMargin, 0.45);
    sheet.SetMargin(MarginType.RightMargin, 0.45);
    sheet.SetMargin(MarginType.HeaderMargin, 0.3);
    sheet.SetMargin(MarginType.FooterMargin, 0.3);

    sheet.Autobreaks = true; //auto breaks
    sheet.FitToPage = true;  //THIS SETS IT TO ALL FIT ON ONE PAGE

    var PrintSetup = sheet.PrintSetup;
    PrintSetup.FitWidth = 1; //fit width onto 1 page
    PrintSetup.FitHeight = 0; //don't care about height
    PrintSetup.Landscape = true;
    PrintSetup.PaperSize = 3; …
Run Code Online (Sandbox Code Playgroud)

c# apache-poi npoi

5
推荐指数
1
解决办法
180
查看次数

在 Worker Service 项目中使用 SignalR

我一直在寻找如何正确配置它的方法,但似乎没有什么对我有用。

我主要关注以下Microsoft的文章,并根据自己的需求进行调整。

使用.Net 5.0

对于初学者来说,我想要做的是在我的Web UI和我的BackgroundService之间创建一个SignalR连接。创建后台服务时,我使用文件 -> 新项目 -> Worker Service模板来创建此服务。我需要能够在后台服务中向客户端发送数据并从客户端接收数据。

程序.cs

这里我添加了SignalR。这看起来很简单。

 public class Program
{
    public static void Main(string[] args)
    {
        CreateHostBuilder(args).Build().Run();
    }

    public static IHostBuilder CreateHostBuilder(string[] args) =>
        Host.CreateDefaultBuilder(args)
            .ConfigureServices((hostContext, services) =>
            {
                IConfiguration configuration = hostContext.Configuration;
                services.AddDbContext<ApplicationDbContext>(options =>
                        options.UseSqlServer(configuration.GetConnectionString("myContext")));
                services.AddSignalR();
                services.AddHostedService<Worker>();
            });
}
Run Code Online (Sandbox Code Playgroud)

界面:

这就是我的理解开始崩溃的地方。我想这是一个向客户端发送数据的接口?

public interface IDesoutterController
{
    Task SendData(DateTime currentTime);
}
Run Code Online (Sandbox Code Playgroud)

控制器中心:

这是我的中心,包含在工作人员服务项目中,具有向所有客户端发送数据的功能。

public class ControllerHub : Hub<IDesoutterController>
{
    public async Task SendDataToClients(DateTime dateTime)
    { …
Run Code Online (Sandbox Code Playgroud)

c# background-service signalr .net-core asp.net-core

5
推荐指数
0
解决办法
1361
查看次数

在 WPF 中使用 MVVM 将过滤器文本框添加到组合框

我想要做的是创建一个 ComboBox,其中顶部有一个文本框,我可以输入该文本框来过滤 ComboBox 中的项目。这是我的意思的一个例子:

在此处输入图片说明

我需要使用 MVVM 方法来做到这一点。我不知道如何解决这个问题或如何覆盖样式来这样做。我已经在谷歌上寻找了几种解决方案,但没有一个完全是我需要的。我很确定一旦我创建了样式,我就可以找出视图模型中的过滤部分。

任何帮助,将不胜感激。

c# wpf filter mvvm

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

第一次成功调用后,LINQ 查询继续返回 null

我的 ASP.NET MVC Web 应用程序中有一个上传功能,它允许用户上传文档。系统然后使用各种 OCR API 从上传的文档中读取数据,然后将这些数据保存在数据库中的“SecondarySchoolSurvey”表中。我在上传代码中有一个 LINQ 查询,它在数据库“SecondarySchoolSurvey”表中找到与传入的 Id 匹配的行。然后更新该行中的各个字段并将其保存回数据库。

现在这个上传功能第一次运行正常。虽然如果我再次尝试使用上传功能(不重新启动 IIS 服务器),则会引发以下错误Object reference not set to an instance of an object.

设置各种断点后,我注意到 LINQ 查询:var s1 = db.SecondarySchoolSurveys.FirstOrDefault(s => s.Id == id);第二次调用它时返回 null,即它没有找到与传入的 Id 匹配的记录,即使它存在于数据库中。

所以现在,每次我想测试上传功能后,我都需要重置Web应用程序的IIS服务器。否则这个 LINQ 查询会null在我第二次尝试上传文档时返回。有没有人见过这样的事情?我不确定它提供代码有多大用处,但这是其中一个类,包含 LINQ 查询的类:

public class SurveyCheckboxAnswers
{
    private RDSContext db = new RDSContext();

    //Adds Question 2 answer
    public void AddQ2Answer(SurveyCheckboxCollections checkboxes, int id)
    {
        //find Survey record in db which matches id in order to update …
Run Code Online (Sandbox Code Playgroud)

c# linq asp.net asp.net-mvc

0
推荐指数
1
解决办法
230
查看次数