草庐IT

sql-client

全部标签

c# - 通过 Entity Framework 将表值类型传递给 SQL Server 存储过程

我在SQLServer中创建了一个用户定义的表类型:CREATETYPEdbo.TestTypeASTABLE(ColumnAint,ColumnBnvarchar(500))我正在使用存储过程将记录插入数据库:createprocedure[dbo].[sp_Test_CustomType]@testingTestTypeREADONLYasinsertinto[dbo].[myTable]selectColumnA,ColumnBfrom@testing我想使用EF来执行这个存储过程,但问题是:如何将用户定义的表传递给存储过程?我尝试将存储过程添加到模型中,但我无法在更新的上下文中

c# - 当数据库中的数据发生更改时,LINQ to SQL 不会更新

我遇到这个问题,在数据库上更新字段(比如表MyTable中的Field3)后,MyTable.Field3(在C#中)仍然返回旧值。我怀疑有一些缓存......?我如何强制它:从数据库读取值?或者更新MyTable类中的值?或者有什么我想念的吗?我是LINQ新手提前谢谢你。 最佳答案 DataContext.Refresh(System.Data.Linq.RefreshMode.OverwriteCurrentValues,entity);如果您想刷新整个实体集,最简单的方法可能是只创建一个新的DataContext并重新查询所有

c# - 多次执行相同的 SQL 查询时重用 SqlCommand 是否更好?

当使用相同的查询但不同的参数查询数据库时,是否更好:一次性完成,还是创建两个单独的查询?单次使用示例:using(SqlCommandaddProduct=newSqlCommand(@"insertinto[Products].[Products]([Name],[Price])values(@name,@price)",sqlConnection)){//Insertthefirstproduct.addProduct.Parameters.AddWithValue("@name","Product1");addProduct.Parameters.AddWithValue("@p

c# - Entity Framework 6 和 SQL Server 序列

我在数据库优先项目中使用EF6。我们需要使用序列,这是SQLServer2012中引入的一项功能(我相信)。在表中,标识列使用以下方式设置了默认值:(NEXTVALUEFOR[ExhibitIdentity])这是因为我们有两个表来存储不同部门的展览信息,但我们需要标识在两个表中都是唯一的,因为它随后将用作许多其他共享公用表的引用。我的问题是在EntityFramework中使用它,我用google搜索了但找不到太多关于EF6是否支持它们的信息。我尝试将EFdesigner中的StoreGeneratedPattern设置为Identity但是在保存时提示零行受到影响,因为它正在使用s

c# - LINQ-to-SQL:返回单个标量值的存储过程?

我正在将LINQ-to-SQL用于查询遗留数据库的应用程序。我需要调用一个存储过程,它选择一个整数值。更改存储过程不是一种选择。设计者用这个签名创建了一个方法:privateISingleResultNextRowNumber([Parameter(DbType="Int")]System.Nullableincrement,[Parameter(DbType="Char(3)")]stringdataset)我希望返回类型是int。我如何使用LINQ-to-SQL执行此操作? 最佳答案 对于标量函数(UDF)而不是SP,这将是微不

c# - 教程 : Simple WCF XML-RPC client

更新:我在下面的回答中提供了完整的代码示例。我已经构建了自己的小型自定义XML-RPC服务器,并且由于我希望在服务器端和客户端都保持简单,所以我想要完成的是创建一个尽可能简单的客户端(最好使用C#)使用WCF。假设通过XML-RPC公开的服务契约如下:[ServiceContract]publicinterfaceIContract{[OperationContract(Action="Ping")]stringPing();//serverreturnsbackstring"Pong"[OperationContract(Action="Echo")]stringEcho(strin

c# - 如何从 Windows 10 UWP 应用程序连接到 SQL 服务器数据库

我正在尝试从通用Windows应用程序连接到本地MSSQL数据库。我正在使用UWP制作LOB应用程序,以支持桌面、平板电脑和移动设备的使用。尝试连接到本地(内联网)SQL服务器数据库时,我习惯使用SqlConnection的实例连接到本地服务器,但由于SqlConnection未包含在UWP中使用的.NET子集中,因此在使用UWP时如何完成?我查看了officialMicrosoftsamples以及how-toguides,并且没有找到关于不是Azure数据库的数据库连接。DbConnection这似乎是一个不错的选择,但不能使用,因为它是抽象的,而且它的子项(例如Data.SqlC

c# - 与 SQL Server 的初始连接速度很慢。为什么?

我遇到过在两个站点安装C#应用程序的情况,这两个站点与SQLServer的初始连接速度极慢。我编写了一个测试应用程序来验证减速发生的位置,它是在第一个SQLConnection.Open语句上。通过命名管道建立与服务器的连接大约需要41秒。我们认为这可能是DNS问题,但使用TCP/IP连接时速度同样慢。建立初始连接后,连接被合并,应用程序正常响应。工作站和服务器都是运行Windows7Pro、Core2Duo3.16Ghz和4GBRam的不错机器。我确实在微软论坛上找到了以下文章:http://social.msdn.microsoft.com/Forums/en/windowscom

c# - 什么.NET StringComparer 相当于 SQL 的 Latin1_General_CI_AS

我在我的数据库和我的C#代码之间实现了一个缓存层。这个想法是根据查询的参数缓存某些数据库查询的结果。数据库使用默认排序规则-SQL_Latin1_General_CP1_CI_AS或Latin1_General_CI_AS,我相信基于一些简短的谷歌搜索,这等同于相等,只是排序不同。我需要一个.NETStringComparer,它可以为我提供相同的行为,至少对于相等性测试和哈希码生成,就像数据库的排序规则正在使用的那样。目标是能够在C#代码中的.NET字典中使用StringComparer来确定特定字符串键是否已在缓存中。一个真正简化的例子:varcomparer=StringComp

c# - .NET Framework 4.5 Full Install 为什么只有 50MB(因为他们不再有 Client Profile)?

(所有尺寸引用均以包装尺寸为单位,而非部署/安装尺寸)基本上,以前的.NETFramework3.5有几百MB的大小(231.5MB),3.5不存在客户端配置文件,但是4.0版本确实存在客户端配置文件,大小仅为41MB,而4.0的完整安装(非CP)大小为48.1MB。现在,他们说(在问题末尾发布的链接中)大多数应用程序往往需要ClientProfile4.0中未涵盖的类和命名空间,因此他们决定不为4.5执行ClientProfile因为这个原因.他们引用的另一个原因是,由于他们能够将.NETFramework4.5的完整安装版本降低到50MB,这也减少了创建客户端配置文件版本的需要(因