草庐IT

c# - LINQ 在 SQL 语句中生成额外的 IS NULL 条件

我正在编写一些LINQ来根据电子邮件获取记录,但是,生成的SQL包含一个额外的ISNULL条件,它不需要存在,因为我正在检查参数值在将条件添加到查询之前在代码中为null。我的LINQ代码是:if(email!=null){query=query.Where(r=>r.Email==email);}由此产生的SQL条件为:(([Extent1].[Email]=@p__linq__0)OR(([Extent1].[Email]ISNULL)AND(@p__linq__0ISNULL)))(([Extent1].[Email]ISNULL)AND(@p__linq__0ISNULL))就

c# - 我们在 MS-Access 中有交易吗?

我正在使用C#.NET和MS-Access开发一个小型桌面应用程序。我以前没有任何MS-Access经验。我想知道我们是否可以在Ms-Access中使用事务。我有下面提到的情况。InsertinTbl1InsertinTbl2我只想在tbl1插入成功后才插入tbl2。如果在tbl2中插入时出现异常,我想回滚tbl1中的插入。我知道这可以在sql-server中轻松实现,但是在ms-access的情况下,我应该如何管理它。请帮助,提前致谢。 最佳答案 实际上没有人在答案中为您提供任何代码示例,甚至没有引用示例(尽管Access帮助文件

c# - 根据 SQL Server 地理数据类型在 Google map 上显示多边形

我有一个SQLServer2008数据库,其中有一列地理类型存储澳大利亚各个地区的形状。我希望能够在Googlemap上绘制这些形状。这是一个ASP.NETC#网站。我已经搜索了有关如何执行此操作的任何示例,但找不到任何内容?有没有人有一些关于如何执行此操作的示例,特别是使用来自SQLServer的地理数据? 最佳答案 AdamW的回答是正确的,但是没有解决SqlGeography数据格式中的数据。包括对Microsoft.SqlServer.Types的引用SqlCommandcmd=newSqlCommand("SELECTST

c# - SQL 命令结果到字典 C# .NET 2.0

我在.NET2.0中有一个简单的SQL查询(使用SqlCommand、SqlTransaction),它返回一个整数-字符串对表(ID、名称)。我想将这些数据放入像Dictionary这样的字典中.我可以将结果放入数据表中,但即使对其进行迭代,我也不确定如何进行输入和所有其他操作。我觉得这一定是一个普遍的问题,但我还没有找到任何好的解决方案。提前致谢。 最佳答案 您可以尝试与此类似的方法,根据您当前循环访问结果的方式进行调整:Dictionarydictionary=newDictionary();using(SqlConnecti

C# SQL连接池

任何人都可以向我介绍如何在ADO.Net中执行连接池,我确实需要连接到3个独立的数据库。其中2个在同一服务器中,另一个在单独的服务器中。更好的代码片段.. 最佳答案 只要您严格处理您的连接,默认情况下(至少对于sql-server)它会自动工作。在您的示例中,您很可能只有3个底层连接(每个连接字符串一个)。但始终确保您的连接已被释放,最好是使用:using(varconn=newSqlConnection(connectionString)){//useconn}然后即使抛出异常,它也会被释放回池中(以便在接下来看到相同的连接字符串

c# - 在 Entity Framework Core 2.0 中执行 SQL 命令删除表中的所有数据

我想从EntityFrameworkCore2.0执行SQL命令,但我不知道该怎么做。1.-我需要这样做的原因是我想从数据库表中删除所有数据,使用Context.remove或Context.removeRange会产生对数据库的许多调用(一个用于表中的每个数据)。2.-我读到有一种方法.ExecuteSqlCommand可以完成该操作,但是我的Context.Database中没有该方法(也许在Core2.0中它被删除了?)。这是信息的来源:DroppingtableInEntityFrameworkCoreandUWP因此,基本上我需要使用EFCore2.0从代码中删除一个表,据我

c# - LINQ to SQL 值介于两个 double 值之间

我正在使用LINQtoSQL查询我的数据库,我有一个与此非常相似的查询:varresult=fromdb.MyTable.Where(d=>(double)d.Price>=minValue)我需要where子句有一个d.Proce>=minValue,和d.Price=(类似于T-SQLBETWEEN子句)。我该怎么做? 最佳答案 这个怎么样:varresult=fromdb.MyTable.Where(d=>(double)d.Price>=minValue&&(double)d.Price

c# - 如何通过C#代码恢复SQL Server数据库

我尝试像这样恢复数据库:SQL=@"RESTOREDATABASEMyDataBaseTODISK='d:\MyDATA.BAK'";Cmd=newSqlCommand(SQL,Conn);Cmd.ExecuteNonQuery();Cmd.Dispose();但我总是出错:Msg3102,Level16,State1,Line7RESTOREcannotprocessdatabase'MyDataBase'becauseitisinusebythissession.Itisrecommendedthatthemasterdatabasebeusedwhenperformingthis

c# - 如何获得使用 ExecuteNonQuery() 时发生的错误消息?

我正在以这种方式执行命令:varCommand=newSqlCommand(cmdText,Connection,tr);Command.ExecuteNonQuery();命令中有错误,但.NET不会抛出任何错误消息。如何知道命令没有正确执行,如何获取异常? 最佳答案 如果您的错误严重性为16或更高,您只会在C#中获得异常。如果您使用的是PRINT,则不会在.NET中出现异常。如果您可以编辑引发错误代码,这将导致C#中的SqlException:RAISERROR('Someerrormessage',16,1)然后您可以在Sql

c# - 执行存储过程时,使用 CommandType.StoredProcedure 与使用 CommandType.Text 相比有什么好处?

所以在C#中使用存储过程我有如下代码(省略连接代码):stringsql="GetClientDefaults";SqlCommandcmd=newSqlCommand(sql);cmd.CommandType=CommandType.StoredProcedure;//其中sql是存储过程的名称。现在,无论有没有注释行,这段代码似乎都能正常工作。那么,我需要这条线吗?设置这个是否有一些性能(或其他)好处?不设置它或将其设置为文本有好处吗? 最佳答案 根据thisblogpost中的测试当您使用CommandType.Text时,S