EF linq常用语法

1.Any判断集合是否包含元素,返回值是bool,一般比count()>0效率高.Any还可以指定条件表达式.

bool b=list.Any(p=>p.Age>50)

等价于

bool b=list.Where(p=>p.Age>50).Any

2.distinct()剔除完全重复的数据
3.order by

 list.orderby(c=>c.Age).thenBy(p=>p.Salary)

4.lis.Skip(3).Take(2) Skip(n)跳过前n条,Take(n)获取最多n条数据
5.Except

int []nums1={1,2,3,4}
int []nums2={1,2,3,4,5,6}
var nums=nums2.Except(nums1);
结果
nums={5,6}

6.Union

int []nums1={1,2,3,4,10}
int []nums2={1,2,3,4,5,6}
var nums3=nums1.Union (nums2);
结果
nums3={1,2,3,4,5,6,10};

7.Intersect

int []nums1={1,2,3,4,10}
int []nums2={1,2,3,4,5,6}
var nums3=nums1.Intersect(nums2);
结果
nums3={1,2,3,4};

8.groupby分组

list.groupby(g=>g.Age)

在这里插入图片描述
9.SelectMany

IEnumerable<Person> student=teachers.SelectMany(t=>t.Students)

10.join

Dog d1=new Dag{Id=1,MasterId=3,Name ="网站"};
Dog d2=new Dag{Id=2,MasterId=1,Name ="网站"};
Dog d3=new Dag{Id=3,MasterId=2,Name ="网站"};
Dog[]dogs={d1,d2,d3}
Master master1=new Master{Id=2,Name='11'};
Master master2=new Master{Id=3,Name='11'};
Master[]master={master1,master2};
var result=dogs.Where(d=>d.id>1).join(master,d=>d.MasterId,m=>m.Id,(d,m)=>new {DagName=d.Name,MasterName=m.Name})
from m in masters
                       orderby m.Age,m.Id descending
                       select m;
var items = from d in dags
                        join m in masters
                        on d.MasterId equals m.Id
                        select new { DogName=d.Name, MasterName=m.Name};

13.分组

          var fen = from m in masters
                      group m by m.Age into g
                      select new { g.Key, MaxId = g.Max(d => d.Id) };

14.IQueryable效率比IEnumerable高 ,IEnumerable会在内存中取后续数据
15.EF使用sql语句

using(var con=new Context())
{
//查询
int id=0;
var ql=con.Database.SqlQuery<Item1>("select Name ,Count(*) count from Test where Id>{0} ",id);
//操作
string name="小小";
var q1=con.Database.ExecuteSqlCommand(" insert into Test (Name,Age) values({0},{1} ) ",name,id);
}

16.关于时间的

using(var con=new Context())
{
con.Persons.Where(p=>SqlFunctions.DateDiff("honr",p.CreateDateTime,DateTime.Now)>1)
}

17.修改
using(var con=new Context())
{
Person p1=new Person(){Id=1,Age=119};
con.Entry(p1).State=System.Data.Entity.EntityState.Modific
``

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值