草庐IT

SQL的多表查询

全部标签

c# - ObjectSet 包装器不适用于 linqToEntities 子查询

为了在密集的数据库使用系统中进行访问控制,我必须实现一个对象集包装器,其中将检查AC。主要目标是进行此更改以保留现有的数据库访问代码,该代码是通过对所有类的实体进行linq实现的(没有集中的数据库层)。创建的ObjectSetWrapper是这样的:publicclassObjectSetWrapper:IQueryablewhereTEntity:EntityObject{privateIQueryableQueryableModel;privateObjectSetObjectSet;publicObjectSetWrapper(ObjectSetobjectSetModels){

MyBatisPlus之条件查询(常规查询、范围查询、模糊查询、null值处理等)

MyBatisPlus之条件查询MyBatisPlus之条件查询1、设置查询条件1.1常规格式1.2链式编程格式1.3lambda格式11.4lambda格式22、组合查询条件2.1并且2.2或者3、条件查询null值判定3.1封装User模型的查询条件3.2测试类3.3null值处理3.3.1条件参数控制3.3.2条件参数控制(链式编程)4、查询投影4.1查询结果中包含模型类中部分属性4.2查询结果包含模型类中未定义的属性4.3原生mysql查询4.4完整测试样例5、查询条件设置(范围匹配、模糊匹配等)MyBatisPlus之条件查询1、设置查询条件1.1常规格式@Testpublicvoi

c# - 将 Web 服务器升级到 .net Framework 4.6.1 时,与远程 SQL 服务器的连接中断

我们目前正在努力将我们的asp.net网络应用程序(托管在IIS7.5上)从.net框架v4.5更新到v4.6.1。在SQLServer与IIS在同一个机器上运行的小型低级环境/本地开发中,此更新工作正常并且不会破坏任何内容。然而,一旦我们在测试环境中更新我们的Web服务器,该测试环境从我们的Web服务器远程托管SQLServer,我们的应用程序将无法再建立与数据库的连接。我们收到此错误:ConnectionTimeoutExpired.Thetimeoutperiodelapsedwhileattemptingtoconsumethepre-loginhandshakeacknowl

c# - EF vs SQL 奇怪的慢

在大量多线程的情况下,我遇到了特定EF查询的问题。它通常便宜且快速:Context.MyEntity.Any(se=>se.SameEntity.Field==someValue&&se.AnotherEntity.Field==anotherValue&&se.SimpleField==simpleValue//fewmoresimplepredicateswithfieldsonthemainentity);这编译成一个非常合理的SQL查询:SELECTCASEWHEN(EXISTS(SELECT1AS[C1]FROM(SELECT[Extent1].[Field1]AS[Fiel

c# - 执行 SQL 查询时显示进度条

我想在从SQL数据库读取数据时通知用户我决定创建一个带有进度条的表单,但它不起作用——可能是因为需要一个线程。我想以编程方式创建表单ProgressBarpb=newProgressBar();pb.MarqueeAnimationSpeed=30;pb.Style=ProgressBarStyle.Marquee;pb.Dock=DockStyle.Fill;progressForm.ClientSize=newSize(200,50);progressForm.FormBorderStyle=FormBorderStyle.FixedDialog;progressForm.Star

c# - Linq-to-Entity 查询的动态谓词

以下Linq-to-Entities查询工作正常:varquery=repository.Where(r=>r.YearProp1.HasValue&&r.YearProp1>=minYear&&r.YearProp1我的数据库有十几个列都报告与年份相关的信息(short?数据类型)。我想对所有这些列重复使用相同的Linq-to-Entities逻辑。像这样的东西:Funcfx=GetYearPropertyFunction();varquery=repository.Where(r=>fx(r).HasValue&&fx(r)>=minYear&&fx(r)这会导致错误:LINQto

c# - 对 SQL Server 2008 全文搜索的担忧

我构建了一个像这样的T-SQL查询:DECLARE@searchnvarchar(1000)='FORMSOF(INFLECTIONAL,hills)ANDFORMSOF(INFLECTIONAL,print)ANDFORMSOF(INFLECTIONAL,emergency)'SELECT*FROMTicketsWHEREIDIN(--unionedsubqueriesusingCONTAINSTABLE...)此搜索的GUI将是一个带有单个文本框的aspx页面,用户可以在其中搜索。我计划以某种方式构造搜索词,使其类似于上面的示例(@search)。不过,我有些担心:上面的示例搜索词

c# - 如何在 Linq to SQL 中使用 distinct 和 group by

我正在尝试将以下sql转换为Linq2SQL:selectgroupId,count(distinct(userId))fromprocessroundissueinstancegroupbygroupId这是我的代码:varq=fromiinProcessRoundIssueInstancegroupibyi.GroupIDintogselectnew{Key=g.Key,Count=g.Select(x=>x.UserID).Distinct().Count()};当我运行代码时,我不断收到无效的GroupID。有任何想法吗?似乎distinct把事情搞砸了..这里是生成的sql:

c# - SQL 用户定义的聚合值保留顺序?

我正在使用来自thisMSDNpage的代码在SQLServer中创建用户定义的聚合以将字符串与groupby's连接起来。我的要求之一是连接值的顺序与查询中的顺序相同。例如:ValueGroup11213242使用查询SELECTdbo.Concat(tbl.Value)AsConcat,tbl.GroupFROM(SELECTTOP1000tblTest.*FROMtblTestORDERBYtblTest.Value)AstblGROUPBYtbl.Group会导致:ConcatGroup"1,2"1"3,4"2结果似乎总是如预期的那样正确,但比我遇到的要好thispage声明顺

c# - SQL Server 2008 R2 上的身份验证设置是否会对性能产生影响?

好的这是第一种方法publicstaticstringsrConnectionString="server=localhost;database=myDB;"+"uid=sa;pwd=myPW;";这是第二种方法publicstaticstringsrConnectionString="server=localhost;database=myDB;"+"integratedsecurity=SSPI;persistsecurityinfo=False;Trusted_Connection=Yes;";这两个连接字符串之间是否存在任何性能差异或任何其他差异?这里我的sql连接类有什么建议