草庐IT

SQL的多表查询

全部标签

c# - 如何在运行时从文本构建 LINQ 查询?

我有一个classA{publicintX;publicdoubleY;publicstringZ;//andmorefields/properties...};和一个Listdata并且可以构建一个linq查询,例如varq=fromaindatawherea.X>20selectnew{a.Y,a.Z};然后dataGridView1.DataSource=q.ToList();在我的DataGridView中显示选择。现在的问题是,是否可以根据用户在运行时输入的文本构建查询?喜欢varq=QueryFromText("fromaindatawherea.X>20selectnew

c# - Entity Framework 4 中的简单条件 LINQ 查询

我最近将这段代码迁移到了EntityFramework4,但失败了。显然,如果status没有值,则返回所有匹配项,如果它有值匹配user.StatusID==1。returnusers.SingleOrDefault(user=>user.Username==username&&user.EncryptedPassword==password&&(!status.HasValue||user.StatusID==1));异常返回:ArgumentException:Thespecifiedvalueisnotaninstanceoftype'Edm.Int32'Parameterna

c# - 使用SQL返回JSON字符串

这是一个“最佳实践”问题。我们正在就此主题进行内部讨论,并希望获得更广泛受众的意见。我需要将数据存储在具有常规列和行的传统MSSQLServer表中。有时我需要将DataTable返回到我的Web应用程序,而其他时候,我需要返回JSON字符串。当前,我将表返回到中间层并将其解析为JSON字符串。这似乎在大多数情况下都能很好地工作,但偶尔会在大型数据集上花费一些时间(解析数据,而不返回表)。我正在考虑修改存储过程,以有选择地返回DataTable或JSON字符串。我只需将@isJsonbit参数添加到SP。如果用户希望使用字符串而不是表,则SP将执行以下查询:DECLARE@result

c# - 为什么 GC 在 LINQ 查询后释放 WhereListIterator 而不是表示条件的函数?

我正在查看一个简单的LINQ查询对内存的影响,并注意到LINQ查询创建了2个类型为Enumerable+WhereListIterator的额外对象。和Func.使用的代码是这样的:staticvoidMain(string[]args){//Settingbaselinesnapshotvarlist1=newList{4862,6541,7841};varlist2=newList(list1.Count);varlist3=newList(list1.Count);//Firstsnapshot:LINQusagelist2.AddRange(list1.Where(item=>

c# - 为不同的数据库转换 SQL 查询

是否有工具可以将一个数据库的一个SQL查询转换为另一个数据库的SQL查询?对于SQLiteCREATETABLEConstantValues(IdintAUTOINCREMENTprimarykey,VariableNamevarchar(50),Valuesvarchar(150))对于SQLServerCREATETABLEConstantValues(IdINTEGERidentity(1,1)primarykey,VariableNamevarchar(50),Valuesvarchar(150))同样,Oracle和SQLServer也不同。同样在外键约束声明中,如果有一个工

c# - 有没有办法在 LINQ 查询发生时观察它们?

我最近一直在研究LINQ并想了解更多相关信息,并且正在寻找一种简单的方法来可视化我的查询,以便更详细地了解查询过程中发生的事情。有谁知道可以公开使用的工具来完成这样的事情吗?谢谢,乔希 最佳答案 您可能想在VisualLINQ上阅读这篇文章在JonSkeet的博客上。VisualLINQ是一种工具,可让您直观地观察正在运行的LINQ查询。您可以直接下载它的文件here.希望这对您有所帮助。编辑:ScottGu的博客也有一篇关于LINQtoSQLDebugVisualizer的文章,这可能会对您有所帮助。

c# - 防止 ORDER BY 子句中的 SQL 注入(inject)

在我们的数据库访问层中,我们有一些动态查询创建。例如,我们有以下方法来构建ORDERBY子句的一部分:protectedstringBuildSortString(stringsortColumn,stringsortDirection,stringdefaultColumn){if(String.IsNullOrEmpty(sortColumn)){returndefaultColumn;}returnString.Format("{0}{1}",sortColumn,sortDirection);}问题是,sortColumn和sortDirection都是来自外部的字符串,所以当

c# - 使用 c# lambda 将 NameValueCollection 转换为查询字符串是否有效?

在研究如何将NameValueCollection转换为查询字符串时,我遇到了不同的方法。我很好奇更短的lambda语法是否尽可能高效。HowtoconvertNameValueCollectiontoa(Query)String使用迭代函数。publicstaticStringConstructQueryString(NameValueCollectionparameters){Listitems=newList();foreach(Stringnameinparameters)items.Add(String.Concat(name,"=",System.Web.HttpUtili

MySQL基础篇之多表查询

前言MySQL在我们工作中都会用到,那么我们最常接触的就是增删改查,而对于增删改查来说,我们更多的是查询。但是面试中,面试官又不会问你什么查询是怎么写的,都是问一些索引啊,事务啊,底层结构这些东西,所以我打算分四篇去逐一的过一遍MySQL的知识点。以下为四篇的传送门,有需要直接点击进入,目前还在建设当中,可以关注作者或专栏,持续更新,永不收费。篇章地址DDL查询篇传送门MySQL函数及视图、存储过程–MySQL索引及优化–MySQL事务及架构–文章目录前言一、SQL的分类二、DDL数据定义语言1.MySQL中的数据类型1.针对数据库操作1.创建数据库2.使用数据库3.修改数据库4.删除数据库2

c# - 使用 SQL 注入(inject)安全的参数插入数据库?

我读了一些关于SQL注入(inject)的文章,我想确保我的代码是“安全的”,我正计划使用RegExp验证器来检查用户输入,但这里的另一篇文章建议只使用参数化查询,我正在使用它们,但我想确保我的代码是安全的,对吗?using(SqlConnectiondataConnection=newSqlConnection(myConnectionString)){using(SqlCommanddataCommand=dataConnection.CreateCommand()){dataCommand.CommandText="INSERTINTOLines(Name,CreationTim