select * from stuInfo where stuNo not in(select stuNo from StuMarks)
怎么用 Linq 进行书写。 求解谢谢!
怎么用 Linq 进行书写。 求解谢谢!
解决方案 »
- LINQ删除的问题
- 了解lucene.net中用KTDictSeg分词的朋友进来下
- EF codefirst 怎么设置字段可以为空
- Gridview 和 formview 如何实现选择gridview, formview显示条目详细信息
- 在windows server 2008 安装sql server 2000 ,可以吗?怎么做?
- 关于这个VB数据库连接类的调用的问题
- 求救高手,web程序调用读内存的c++ com的问题
- 各位大侠,我的ie web control中的TreeView的所有事件不能响应是怎么回事
- 菜鸟提问,关于asp.net服务器控件和html服务器控件到底有什么区别
- 求助贴
- ASP.NET WebBrowser怎么赋值用户信息
- 为什么ValidationSummary不能显示CompareValidator的错误信息
错误 3 当前上下文中不存在名称“StuMarks”
错误 2 当前上下文中不存在名称“result”
错误 1 “Linq.stuInfo”并不包含“Where”的定义
var query = db.stuInfo.Where(x => !db.StuMarks.Select(y => y.stuNo).Contains(x.stuNo));根据你的表名可能有所不同。还有 result,这个冤枉!你看我写的代码中有这个单词么?
StuDBDataContext db = new StuDBDataContext();
var query = stuInfo.Where(x => !StuMarks.Select(y => y.stuNo).Contains(x.stuNo));
其实 是这样的! 今天实在想不通了,头大了 - - 所以。
StuDBDataContext db = new StuDBDataContext();
var query = stuInfo.Where(x => !StuMarks.Select(y => y.stuNo).Contains(x.stuNo));
//select * from stuInfo where stuNo not in(select stuNo from StuMarks)
foreach (var c in result)
{
Console.WriteLine(c.StuNo);
}最下面这个 result 这个错误。
!
where !(new int?[] {db.stuMarks.}).Contains(s.StuNo)
select s;
这种该类型的该怎么表达。
不过你写 var 就可以了。
告诉你个逻辑知识:实际上多个条件的组合,仅需要Any着一种操作就够了。你可以试试,看所谓not in,或者 all in,之类的,如何用一个Any操作就足以表达?!这是一个很好的逻辑训练。
var query = db.stuInfo.Where(x => db.StuMarks.All(y => y.stuNo != x.stuNo));join的写法var query = from x in db.stuInfo
join y in db.StuMarks on x.stuNo equals y.stuNo into j
from item in j.DefaultIfEmpty(default(StuMark类型))
where item == default(StuMark类型)
select x;
select s.StuNo).Except(
from m in ctx.stuMarks
select m.StuNo
);
where !s.stuMarks.Any() //where exists 子查询 ,判断子查询的结果与父查询结果是否有相同的值
select s;
foreach (var item in result)
{
Console.WriteLine(item.StuNo);
}
where s.stuMarks.All(m=>m.StuNo!=s.StuNo)// select s;
foreach (var item in result)
{
Console.WriteLine(item.StuNo);
}
Lambda:
var query=stuInfo.where(st=> ! StuMarks.where(s=>s.stuNo==st.stuNo).any()).toList()