草庐IT

ORACLE-SQL

全部标签

c# - 如何使用 LINQ to SQL/ADO.NET 获取执行计划

是否可以通过编程方式获取LINQtoSQL或ADO.NET查询的执行计划以显示在调试信息中?如果是,怎么办? 最佳答案 当然,您需要两样东西。DbConnection、DbCommand和DbDataReader的自定义实现。您可以使用它来拦截所有发送到数据库的SQL。您基本上设置了它,所以您有一个记录所有运行的SQL的层。(我们计划在未来几个月内开源这方面的东西,敬请期待)一种显示数据意义的方法,恰好在这里是开源的:https://data.stackexchange.com/stackoverflow/s/345/how-uns

c# - 是否有将 T-SQL 存储过程转换为 C# 的工具?

关闭。这个问题不满足StackOverflowguidelines.它目前不接受答案。想改善这个问题吗?更新问题,使其成为on-topic对于堆栈溢出。去年关闭。Improvethisquestion2017年更新:实际上,答案是不,即使有,您也应该非常谨慎地使用它.实际上只有两种方法可以解决这个问题:a)咬紧牙关,手动和煞费苦心地转换所有内容,并使用某种验证方法来检查一切是否继续按预期运行,例如单元/回归测试。使用Linqer之类的工具(如果可用)作为帮助来解决部分问题。b)从头开始​​。没有选项c)可以让其他东西整齐和自动地处理所有事情,并且它不可能涵盖所有情况。有很多T-SQL可

c# - 当 dbContext 带有 'using' block 时,如何从 Linq 返回 IQueryable 到 SQL 查询?

我一直在使用“使用”block进行编码,但我想知道我是否可以从以下返回一个IQueryable而无需在我访问它之前处理该对象。publicIQueryableGetContacts(stringclientID){using(dbDataContextdb=newdbDataContext()){varcontacts=from_contactsindb.Contactswhere_contacts.ClientID==clientIDorderby_contacts.LastNameascendingselect_contacts;returncontacts;}}我是简单地删除“u

c# - 将数据从 Sql Server 推送到桌面应用程序

我有一个用c#编写的非常简单的.net4桌面应用程序,它需要显示一些插入到SQLServer(2005)表中的数据。数据本身很简单,只有一行大约10列,(主要是其他数据的计数)。我可以每隔x间隔从应用程序中轮询sqlserver,但我更喜欢让sqlserver在可能的情况下将数据推送到该应用程序,因为“新数据”的时间通常是不规则的。简而言之,我想知道这是否可能。在发布这个问题之前做了一些研究,我发现了一些可能性。1)SignalR:我找到了this这个问题看起来很有希望,但这似乎是在网络应用程序而不是桌面应用程序的上下文中。在查看signalRwiki时,我觉得它需要某种网络服务或其他

c# - Linq To SQL 选择动态列

是否可以动态限制从LINQtoSQL查询返回的列数?我有一个包含50多个列的数据库SQLView。我的应用程序有一个包含50多个属性的域对象,每列一个。在我的winforms项目中,我将域对象列表绑定(bind)到网格。默认情况下,只有少数列可见,但用户可以打开/关闭任何列。用户提示网格加载时间太长。我捕获了LINQ生成的SQL查询,然后在SQLServerManagementStudio中执行它并验证了它的速度。如果我更改SQL语句,删除所有不可见的列,它几乎会立即运行。性能与查询中的列数直接相关。我想知道是否可以动态更改从LINQ生成的SQL查询返回的列数?例如,这是我的代码目前的

c# - 使用 DataTable 插入或更新 SQL 表

首先,我不能使用任何存储过程或View。我知道这可能会适得其反,但这不是我的规则。我有一个DataTable,里面装满了数据。它具有我的SQL表的复制结构。ID-名称SQL表当前有一些数据,但我现在需要用DataTable的所有数据更新它。如果ID匹配,它需要更新SQl表,或者添加到它唯一的列表。有什么方法可以仅在我的WinForm应用程序中简单地执行此操作?到目前为止,我有:SqlConnectionsqlConn=newSqlConnection(ConnectionString);SqlDataAdapteradapter=newSqlDataAdapter(string.For

c# - 如何对可以取消的 DataTable 操作执行 SQL 查询

我试着让标题尽可能具体。基本上我现在在后台工作线程中运行的是一些代码,如下所示:SqlConnectionconn=newSqlConnection(connstring);SqlCommandcmd=newSqlCommand(query,conn);conn.Open();SqlDataAdaptersda=newSqlDataAdapter(cmd);sda.Fill(Results);conn.Close();sda.Dispose();其中query是一个字符串,表示一个大的、耗时的查询,conn是连接对象。我现在的问题是我需要一个停止按钮。我开始意识到杀死后台工作人员将毫无

c# - Visual Studio 2013 ADO.net 实体模型没有 Oracle 数据源

我刚刚安装了visualstudio2013并尝试设置EntityFramework来访问oracle数据库。我点击新的ADO.NET实体模型,然后从数据库生成,但是当我点击“新建连接”时,在数据连接屏幕上我没有看到oracle出现在数据源列表中。我只有两个SQL服务器选项。我需要安装一些额外的东西才能让它工作吗?Oracle数据源出现在我安装在同一台机器上的2012版visualstudio中,所以不确定为什么它在2013年不起作用。 最佳答案 还没有发布https://forums.oracle.com/message/1123

c# - 在 C# 中执行一个返回引用游标的 oracle 函数

我有一个oracle程序包,其中包含一个inout引用游标的过程。我的理解是,这是非常标准的。我不喜欢的是我必须编写大量代码才能看到输出。SoIaskedthisquestion事实证明,我可以通过创建一个包装该过程的函数来获得我想要的东西。更新:看起来我不再需要该功能了,但对于那些好奇的人来说,它可能还是值得了解的,请查看原始问答更新。这是函数FUNCTIONGetQuestionsForPrint(userinvarchar2)RETURNMYPACKAGE.refcur_questionASOUTPUTMYPACKAGE.refcur_question;BEGINMYPACKAG

c# - Entity Framework 中是否有一个函数可以转换为 SQL 中的 RANK() 函数?

假设我想按国家/地区对我的客户数据库进行排名。在SQL中我会写:selectCountryID,CustomerCount=count(*),[Rank]=RANK()over(orderbycount(*)desc)fromCustomer现在我想在EntityFramework中写这个:varranks=db.Customers.GroupBy(c=>c.CountryID).OrderByDescending(g=>g.Count()).Select((g,index)=>new{CountryID=g.Key,CustomerCount=g.Count,Rank=index+1