EF中的Linq
context.Users.Where(o => EF.Functions.Like(o.UserName, "wa%") ).ToList();
var ccc = (from o in Context.BoxLogs
join oo in Context.Jobs
on o.JobId equals oo.Id
join ooo in Context.PositionInfoes
on o.PositionId equals ooo.SortNum
join o4 in Context.Lines
on o.LinId equals o4.LineId
into re //左连
from r in re.DefaultIfEmpty()
where oo.JobNumber.Equals(jobName)
select new
{
oo.JobNumber,
ooo.PostionName,
o.FullBoxSn,
r.LineName,
Status = o.IsComplete == true ? "已使用": "未使用" //linq case when
}).ToList();
//通过工单找出站位,Sn,线别,以及使用状态
// BoxLog是数据库实体
//PositionInfo是数据库实体
var tt = Context.BoxLogs.Join(Context.PositionInfoes, (BoxLog o) => o.PositionId, (PositionInfo p) => p.SortNum, (o, oo) => new
{
o.PositionId,
oo.PostionName
}).ToList();
//EF中写SQL语句
这里是查寻
string sn = "G8T1GH000402PXJD";
using (EF.RecordTest test = new EF.RecordTest())
{
string sql = "SELECT * FROM dbo.ims_success_logfiles WHERE test_type_name LIKE '" + sn + "%' AND Rework_Clear_Flag IS NULL";
//List<EF.ims_success_logfiles> cct = test.ims_success_logfiles.SqlQuery(sql).ToList();
发现上面的要比下面的慢
List<EF.ims_success_logfiles> ccc= test.Database.SqlQuery<EF.ims_success_logfiles>(sql).ToList();
}
//直接使用QSL语句和下面的sql语句一样.
SELECT * FROM dbo.ims_success_logfiles WHERE test_type_name LIKE 'G8T1GH000402PXJD%' AND Rework_Clear_Flag IS NULL
下面的例子是 更新,新增及删除