寻找性能有效的 SQL 代码来计算基于 DATE Sum 的 Rolling Sum。我的数据如下所示:
+----+-----------+----+
| ID | Date | Qt |
+----+-----------+----+
| 1 | 1/12/2009 | 2 |
| 2 | 1/13/2009 | 3 |
| 3 | 1/14/2009 | 10 |
| 4 | 1/15/2009 | 2 |
| 5 | 1/16/2009 | 3 |
| 6 | 1/17/2009 | 7 |
| 7 | 1/18/2009 | 5 |
| 8 | 1/19/2009 | 4 |
| 9 | 1/20/2009 | 2 | …
Run Code Online (Sandbox Code Playgroud) 当尝试将分钟/秒舍入到最接近的小时(在这种情况下忽略分/秒部分)时,我对以下行为感到好奇.
我尝试了两种方法,并使用BenchMarkDotNet进行基准测试.
private DateTime testData = DateTime.Now;
[Benchmark]
public DateTime CeilingUsingNewOperator() => new DateTime(testData.Year,testData.Month,testData.Day,testData.Hour + 1,0,0);
[Benchmark]
public DateTime CeilingUsingAddOperator() => testData.AddHours(1).AddMinutes(-testData.Minute).AddSeconds(-testData.Second);
Run Code Online (Sandbox Code Playgroud)
以下是结果.
+-------------------------+-----------+----------+----------+
| Method | Mean | Error | StdDev |
+-------------------------+-----------+----------+----------+
| CeilingUsingNewOperator | 207.99 ns | 3.465 ns | 3.072 ns |
| CeilingUsingAddOperator | 108.74 ns | 1.429 ns | 1.337 ns |
+-------------------------+-----------+----------+----------+
Run Code Online (Sandbox Code Playgroud)
我很好奇为什么新运算符更慢,如果我假设,每次我们在第二种方法中调用AddX方法时,我们得到一个Datetime.
有人能解开一些光吗?
问题的焦点是string text
格式,其他一切都只是用于上下文.如果重要的话,实际的字符串长约10页.
string text = @"
"" My string ''stringy'' with lots of ''quoties'' "" said Jimmy ''The Jimminator'' Smith.
";
API.Models.Table seedTable = new API.Models.Table()
{
Created = new DateTimeOffset(DateTime.Now),
TableText = text
};
db.Table.AddOrUpdate(seedTable);
db.SaveChanges();
Run Code Online (Sandbox Code Playgroud)
这是处理从EF到SQL的单引号和双引号保存字符串的正确方法吗?如果没有,那么正确的方法是什么?db
只是我们的dbContext.
编辑:这个问题可能并不清楚.我担心的是,当我在SQL Server中发出查询或从C#执行SQL命令时,我不能用单引号输入任何字符串而不加倍.但是,我的问题是EF是否足够聪明,可以用单引号保存字符串或者需要将它们加倍.
我正在尝试在C#中使用Magick.NET实现功能。
以前我使用的是:
// Convert to a png.
Process p = new Process();
p.StartInfo.FileName = @"C:\Program Files\ImageMagick-6.2.8-Q16\convert.exe";
p.StartInfo.Arguments = "-scale 60% \"" + svg + "\" \"" + png + "\"";
p.StartInfo.CreateNoWindow = true;
p.Start();
p.WaitForExit();
TransmitFile(context, png);
Run Code Online (Sandbox Code Playgroud)
我想摆脱必须在服务器上存储convert.exe的问题.....现在,我想使用将在代码中使用的东西,而不必在服务器上引用可执行文件:-
// Pseudo-code:-
MagickImage img = new MagicImage();
Image.Add(svg);
Image.Format = MagickFormat.png;
Image.Scale = 60%;
Run Code Online (Sandbox Code Playgroud)
但是我找不到足够的文档来实现以前使用的相同功能。有合适的文件资料吗?我用谷歌搜索了很多,没有成功。
我有一个使用Visual Studio 2015创建的用户窗体,我不知道该语言是什么.
根据我的经验,VS使用VB(Visual Basic),但这显然是从括号和分号用法判断的另一种语言.
这是什么语言?
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace Caesar_Cipher
{
public partial class MainForm : Form
{
public MainForm()
{
InitializeComponent();
}
private void MainForm_Load(object sender, EventArgs e)
{
}
}
}
Run Code Online (Sandbox Code Playgroud) 我是 C# 的新手,所以我希望我能正确地问这个问题。
我创建了一个新的 C# 项目,其中包括:
static void Main(string[] args)
{
Consol.Write(myFirstInt());
}
Run Code Online (Sandbox Code Playgroud)
我创建了一个方法:
public int myFirstInt()
{
return 5;
}
Run Code Online (Sandbox Code Playgroud)
这是从 Main 调用的。我知道我不能打电话,myFirstInt()
因为它不是静态的。但是,如果 Main 是程序的起点并且始终必须是静态的,那么您如何调用非静态方法?
我的表单不会将Texbox中的文本保存到数据库中.我的.cs CodeFile可能有问题,但我无法解决.
它可能是我的连接字符串.
我的网页表格:
<form id="form1" runat="server">
<div>
<table>
<tr>
<td>
Enter selection text:
</td>
<td>
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
</td>
</tr>
<td colspan="2" align="center">
<asp:Button ID="Button1" runat="server" Text="Submit" />
</td>
</tr>
</table>
</div>
</form>
Run Code Online (Sandbox Code Playgroud)
这是我的代码背后:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Data;
using System.Configuration;
using System.Data.SqlClient;
public partial class _Default : System.Web.UI.Page
{
SqlConnection con = new SqlConnection(@"Data Source=db65225900.db.1and1.com; Initial Catalog=db211255182; User ID=dbo652259000; Password=Password");
protected void Page_Load(object sender, EventArgs …
Run Code Online (Sandbox Code Playgroud) 如何使表“ PRODUCT”的外键接受空值?
我要求在填写PRODUCT表单时,您可以保存信息而不必选择银行。我使用实体框架生成表单PRODUCT(Controller)
外键del模型产品-> “ public int EntidadID {get; set;}”
我有两个相关的模型。
public class Product
{
[Key]
public int ProductID { get; set; }
public string NumContrato { get; set; }
public float TasaReal { get; set; }
public decimal Capital { get; set; }
public DateTime FechaValor { get; set; }
public DateTime FechaVencimiento { get; set; }
public int Plazo { get; set; }
public int BankID { get; set; }
public virtual …
Run Code Online (Sandbox Code Playgroud) 我尝试使用txt文件作为备份:当激活复选框时,我们在“胜利”txt文件中添加1,当它被停用时,我们在“松散”txt文件中添加1,这是我的问题:\例如,如果禁用该复选框,我运行脚本,在“宽松”中得到 1,在“胜利”中得到 0,所以很正常;但如果我再次运行它(不改变任何东西),我在“宽松”中得到 51,在“胜利”中得到 49,但我想得到 2 和 0..\n我不知道它是否真的很清楚;
\n这是一段代码:
\nif (Directory.Exists("C:/PekmiIndustries/BrokenGame"))\n{\n TextReader VtxtR = new StreamReader("C:/PekmiIndustries/BrokenGame/Victory.txt");\n TempVReadStr = VtxtR.Read().ToString();\n VRead = Convert.ToInt32(TempVReadStr);\n VRead += 1;\n if (VictoireCheck.Checked == true)\n {\n VRead += 1;\n }\n VtxtR.Close();\n TextWriter VtxtW = new StreamWriter("C:/PekmiIndustries/BrokenGame/Victory.txt");\n VtxtW.Write(VRead.ToString());\n VtxtW.Close();\n\n TextReader LtxtR = new StreamReader("C:/PekmiIndustries/BrokenGame/Loose.txt");\n TempLReadStr = LtxtR.Read().ToString();\n LRead = Convert.ToInt32(TempLReadStr);\n LRead += 1;\n if (VictoireCheck.Checked == false)\n {\n LRead += 1;\n }\n LtxtR.Close();\n TextWriter LtxtW = new StreamWriter("C:/PekmiIndustries/BrokenGame/Loose.txt");\n LtxtW.Write(LRead.ToString());\n LtxtW.Close();\n\n MessageBox.Show("Les stats ont correctement \xc3\xa9t\xc3\xa9s …
Run Code Online (Sandbox Code Playgroud) c# ×7
sql ×3
asp.net ×1
asp.net-mvc ×1
benchmarking ×1
database ×1
forms ×1
hana ×1
imagemagick ×1
magick.net ×1
sql-server ×1
streamreader ×1
streamwriter ×1