Tag: sql server

entity framework核心数量没有最佳性能

我需要通过某个filter获取记录数量。 从理论上讲这条指令: _dbContext.People.Count (w => w.Type == 1); 它应该生成SQL,如: Select count (*) from People Where Type = 1 但是,生成的SQL是: Select Id, Name, Type, DateCreated, DateLastUpdate, Address from People Where Type = 1 生成的查询在具有许多记录的数据库中运行需要更长的时间。 我需要生成第一个查询。 如果我这样做: _dbContext.People.Count (); entity framework生成以下查询: Select count (*) from People ..运行得非常快。 如何生成第二个查询将搜索条件传递给计数?

存储过程中EXISTS子句的参数

我有一个表DEPT ,它包含2列 – ID, NAME 。 将使用DEPT表中的ID显示搜索表单,用户可以选择任意数量的ID并提交表单,以获取相关的NAMEs 。 澄清/输入: 我不想构建动态查询 – 它不可管理。 我更喜欢使用表值参数的存储过程 还有其他解决办法吗? 注意: 这个例子很简单,只有1个表 – 在现实生活中,我必须处理超过6个表! 谢谢你的任何建议

在SQL Server 2008中的NVarChar中存储UTF-8时遇到问题

我正在从网站上使用System.Net.WebClient提取数据,当数据返回时,除了带重音的字母外,所有内容都会解析并且看起来很好。 例如,当它返回é ,SQL Server 2008将其保存为é 。 只需要弄清楚如何将这些UTF-8字符转换为SQL Server可以读取的内容。 我将它存储在NVARCHAR(MAX)数据类型中。 如果你好奇,我正在使用Linq-to-SQL插入数据库。 有什么想法,我可以做到将其转换为正确的格式?

Asp.net C的PDF或其他“报告查看器”选项#

我和我目前的项目绑定了。 这是一个工资单应用程序,我正在使用C#开发ASP.net webforms。 我的老板说,这个网站的理想function是点击付款查询日期,打开PDF并显示薪水支票信息。 我已经做了几天的研究,试图找到最好的解决方案。 到目前为止,我没有运气。 我发现了一些不同的东西,比如iTextSharp,但一年的许可证现在太贵了。 我也看过基于php的tcpdf。 我还研究过CrystalReports和Active Reports。 购买许可证也太贵了。 我也研究过XML到PDF解决方案,但我找不到任何确定的东西。 由于我对软件开发的商业世界很陌生,并且没有高级开发人员可以依赖,所以我几乎已经死了。 我知道我们将从基于DOS的应用程序中将薪水下载到CSV文件中,该应用程序执行我们的时钟输入和输出。 然后,我将CSV文件导入SQL Server 2012 Express。 非常感谢您的想法,因为我不知道从哪里开始! 先感谢您!

直接流式传输到数据库

我正在使用c#,并且有一个开放的tcpip连接接收数据。 是否可以将流保存到ms sql server数据库,因为我收到它,而不是接收所有数据,然后保存所有数据? 如果流可以在接收时发送到数据库,则不必将整个数据块保留在内存中。 这是可能吗?

无法将数据写入传输。 Vs2017 ASP.net核心脚手架(MSSQL WINDOW 10)

我试图通过脚手架创建一个控制器。 但是我收到了这个错误 运行所选代码生成器时出错。 无法将数据写入传输。已建立的连接已被主机中的软件中止 我正在使用ASP.NET CORE,Visual Studio 2017,SqlServer,Window 10 几天来,我没有幸运地解决这个问题 有人可以帮忙吗?

在LINQ中将字符串转换为datetime值

假设我有一个表以String格式存储日期时间列表(yyyyMMdd)。 我如何提取它们并将它们转换为DateTime格式dd / MM / yyyy? 例如20120101 – > 01/01/2012 我尝试过以下方法: var query = from tb in db.tb1 select new { dtNew = DateTime.ParseExact(tb.dt, “dd/MM/yyyy”, null); }; 但事实certificate错误说ParseExact函数不能被复原。

如何在entity framework查询中将DateTime转换为TimeSpan

我有Entity Framework 6的LINQ查询: var timeCapturesQuery = Context.TimeCaptures .Where(t => && t.StartDateTime.TimeOfDay startTime); EndTime和StartTime是TimeSpan类型的参数,StartDateTime和EndDateTime是datetime表上的列。 不幸的是,我在运行时收到此错误: LINQ to Entities不支持指定的类型成员’TimeOfDay’。 仅支持初始化程序,实体成员和实体导航属性。 如何在此LINQ查询中从DateTime(即SQL中的datetime的time )获取TimeSpan ?

使用SqlConnection.GetSchema仅获取表(无视图)

我用的时候 SqlConnection.GetSchema(“Tables”); 它返回目标数据库的所有表和视图。 有没有办法只返回表? 我所做的所有研究表明我正确地做了这一点,但它总是返回视图,就像它们是表格一样。 我已经在调试中挖掘了DataTable,我甚至找不到区别。 报告的数据类型相同……据我所知,它无法区分视图和表。 (它在某种程度上是有意义的,因为所有意图和目的的视图都是一个表。) 我正在使用Northwind数据库进行测试。 我正在用C#编写应用程序。 这是我运行以获取架构信息的代码。 很简单。 SQLCon.Open(); DataTable tables = SQLCon.GetSchema(“Tables”); SQLCon.Close(); 我非常想使用getschema方法而不必以另一种方式查询数据库……如果可能的话。

在C#中访问SQL Server存储过程输出参数

我有一个简单的SQL Server存储过程: ALTER PROCEDURE GetRowCount ( @count int=0 OUTPUT ) AS Select * from Emp where age>30; SET @count=@@ROWCOUNT; RETURN 我试图访问以下C#代码中的输出参数: SqlConnection con = new SqlConnection(); con.ConnectionString = “Data Source=localhost\\SQLEXPRESS;Initial Catalog=answers;Integrated Security=True”; SqlCommand cmd = new SqlCommand(); cmd.Connection = con; cmd.CommandText = “GetRowCount”; cmd.CommandType=CommandType.StoredProcedure; cmd.Parameters.Add(new SqlParameter(“@count”, SqlDbType.Int)); cmd.Parameters[“@count”].Direction = ParameterDirection.Output; con.Open(); SqlDataReader reader=cmd.ExecuteReader(); int ans […]