Exists/In/Any/All/Contains操作符 适用场景:用于判断集合中元素 ,进一步缩小范围。 Any 说明:用于判断集合中是否有元素满足 某一条件;不延迟。(若条件为空,则集合只要不为空就返回True,否则为 False)。有2种形式,分别为简单形式和带条件形式。 1.简单形式: 仅返回没有订单的客户: var q = from c in db.Customers where !c.Orders.Any() select c; 生成SQL语句为: SELECT [t0].[CustomerID], [t0].[CompanyN...
dotNET.Core;
using Microsoft.Extensions.Logging;
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Text;namespace dotNET.EFCoreRepository
{/// <summary>/// ef 日志/// </summary>public class EFLoggerProvider : ILoggerProvider{public ILogger CreateLogger(string categoryName) => new EFLogger(categoryName);public void Dispose() { }}/// <summary>/// /// </summary>pu...
using dotNET.Core;
using Microsoft.Extensions.Logging;
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Text;namespace dotNET.EFCoreRepository
{/// <summary>/// ef 日志/// </summary>public class EFLoggerProvider : ILoggerProvider{public ILogger CreateLogger(string categoryName) => new EFLogger(categoryName);public void Dispose() { }}/// <summary>/// /// </summ...
q =from i in db.Invoiceswhere i.ShipCity == "London"select new{i.OrderID,i.ProductName,i.Quantity,i.CustomerName};这里。生成的SQL语句同使用数据表类似:
SELECT [t0].[OrderID], [t0].[ProductName], [t0].[Quantity],
[t0].[CustomerName] FROM [dbo].[Invoices] AS [t0]
WHERE [t0].[ShipCity] = @p0
-- @p0: Input NVarChar (Size = 6; Prec = 0; Scale = 0) [London]查询:标识映射形式下例查询出每季的订单。
var q ...
并且有一些初始化语句List<People> PeopleList = new List<People>();
PeopleList.Add(new People() { Name = "Haocheng Wu", Age = 24 });
PeopleList.Add(new People() { Name = "Haocheng Wu", Age = 25 });
PeopleList.Add(new People() { Name = "James Wu", Age = 23 });你就可以采用下面类似于SQL语句的方法进行select
List<string> SubPeopleNameList1 = (from people in PeopleListwhere people.Name == "Haocheng Wu" &&...
var result = from de in db.Department where de.DepartmentParentID == 9 select de; GridView1.DataSource = result; GridView1.DataBind();linq to sql 输出SQL语句标签:本文系统来源:http://www.cnblogs.com/xiaoshi518/p/4676532.html
string sql=@"select top 1 * from Student where StuName=‘{0}‘";
2 sql = string.Format(sql, "李四");以上代码即是在Student数据表中,查询学生姓名为“李四”的记录。
2,配置参数,代码如下:1 string sql=@"select top 1 * from Student where StuName=@stuName";
2 SqlParameter para = new SqlParameter() { ParameterName = "@stuName", Value = "李四" };
3 SqlComma...
接下来的一段代码先创建一个数据库,在调用CreateDatabase后,新的数据库就会存在并且会接受一般的查询和命令。接着插入一条记录并且查询。最后删除这个数据库。//1.新建一个临时文件夹来存放新建的数据库string userTempFolder = Environment.GetEnvironmentVariable("SystemDrive") + @"\YJingLee";Directory.CreateDirectory(userTempFolder);//2.新建数据库NewCreateDBstring userMDF = System.IO.Path.Combine(userTempFolder...
IQueryable<Customer> custs = db.Customers;
//组建一个表达式树来创建一个参数
ParameterExpression param = Expression.Parameter(typeof(Customer), "c");
//组建表达式树:c.ContactName
Expression selector = Expression.Property(param,typeof(Customer).GetProperty("ContactName"));
Expression pred = Expression.Lambda(selector, param);
//组建表达式树:Select(c=>c.ContactName)
Expression expr = Expression.Call(...
q =from i in db.Invoiceswhere i.ShipCity == "London"select new{i.OrderID,i.ProductName,i.Quantity,i.CustomerName};这里,生成的SQL语句同使用数据表类似:
SELECT [t0].[OrderID], [t0].[ProductName], [t0].[Quantity],
[t0].[CustomerName] FROM [dbo].[Invoices] AS [t0]
WHERE [t0].[ShipCity] = @p0
-- @p0: Input NVarChar (Size = 6; Prec = 0; Scale = 0) [London]查询:标识映射形式下例查询出每季的订单。
var q ...
***********************非查询操作*****************************************///今天太晚了,先写个非查询操作的,明天在写查询操作的。/****函数*****//// <summary>/// 增删改数据,返回影响行数,没有则返回-1/// </summary>/// <param name="sql">sql语句</param>/// <param name="ps">参数</param>/// <returns>返回影响行数</returns>static string connStr ="server=IP;User Id=账号名;password=密码;Database=表名";pub...
(1)拼接产生SQL语句:
string sql = "insert into czyb(yhm,mm,qx) values(‘" + txtName.Text + "‘,‘" + txtPassword.Text + "‘,‘" + cmbPriority.Text + "‘)"; OleDbCommand cmd = new OleDbCommand(sql, conn);
这种方法写法比较复杂,且安全性低,容易遭受SQL注入攻击。
(2)用string.Format方法:
string sql = string.Format("insert into czyb(yhm,mm,qx) values(‘{0}‘,‘{1}‘,‘{2}‘...
SQL语言主要由以下几部分组成:
DML(Data Manipulation Language,数据操作语言,也称为数据操纵语言):用来插入、修改和删除数据库中的数据,如INSERT、UPDATE及DELETE等。
DDL(Data Definition Language,数据定义语言):用来建立数据库、数据库对象和定义其列,大部分是以CREATE开头的命令,如CREATE TABLE,CREATE VIEW及DROP TABLE等。
DQL(Data Query Language,数据查询语言):用来对数据库中的数据进行查询,如SELEC...
Where操作适用场景:实现过滤,查询等功能。说明:与SQL命令中的Where作用相似,都是起到范围限定也就是过滤作用的,而判断条件就是它后面所接的子句。Where操作包括3种形式,分别为简单形式、关系条件形式、First()形式。下面分别用实例举例下:1.简单形式:例如:使用where筛选在伦敦的客户var q =from c in db.Customerswhere c.City == "London"select c;再如:筛选1994 年或之后雇用的雇员:var q =from e in db.Employeeswhe...
对于Linq To SQL的机制原理在前面的章节里面已经讲过了。这里笔者提出来主要目标是明确什么时候触发。下面的代码不是看前面的获得Query<T>类实列,而是看后面的GetIEnumerable方法调用。
ExpressionQuery<T>类:IEnumerable<T> Execute(IDataContextInfo dataContextInfo, Expression expression)
{return GetQuery(expression, true).GetIEnumerable(null, dataContextInfo, expression, Parameters);
}记得笔者前面几个章节中讲...