如何用lambda表达式改写LinQ语句?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何用lambda表达式改写LinQ语句?相关的知识,希望对你有一定的参考价值。
我现在写的LinQ的语句是
private void InitPage()
RiverEarthEntities db = new RiverEarthEntities();
var q = from ee in db.EarthquakeEvents
join r in db.ReportDataMains on
ee.EE_ID equals r.RDM_EEID
select new
EE_NAME = ee.EE_NAME,
RDM_FACTYPE = r.RDM_FACTYPE,
RDM_FACNO = r.RDM_FACNO,
RDM_UDATE = r.RDM_UDATE
;
Repeater1.DataSource = q;
Repeater1.DataBind();
现在要换成纯的lambda表达式(因为我写的和别人的风格不一致),该如何写呢?
求教育。
db.ReportDataMains, //第一个参数,表示要关联的数据集
i=>i.EE_ID, //第二个参数,是个Expression类,表示主数据集进行关联的实体键
j=>j.RDM_EEID, //第三个参数,是个Expression类,表示关联数据集进行关联的实体键
(i,j)=> //第四个参数,是个Expression类,接受的委托有两个参数,就是两个数据集了,在委托内部new一个匿名对象即可
I.EE_NAME,
J.RDM_FACTYPE
); 参考技术A var q = db.EarthquakeEvents.join(db.ReportDataMains, ee => ee.EE_ID equals, r => r.RDM_EEID,new
EE_NAME = ee.EE_NAME,
RDM_FACTYPE = r.RDM_FACTYPE,
RDM_FACNO = r.RDM_FACNO,
RDM_UDATE = r.RDM_UDATE
)
手写的,你自己试试,很容易的 参考技术B 建议 先看看匿名代理 和扩展方法 要不然你就是会写 也不知道为什么这样写
点标记(lambda表达式+linq查询标记符)与linq语句(查询表达式)
什么是Linq表达式?什么是Lambda表达式?
参照:https://www.cnblogs.com/zhaopei/p/5746414.html
以上是关于如何用lambda表达式改写LinQ语句?的主要内容,如果未能解决你的问题,请参考以下文章
如何为CriteriaOperator过滤对象转换为lambda表达式,即:linq to xpo的动态where语句
点标记(lambda表达式+linq查询标记符)与linq语句(查询表达式)