将SQL(LEFT OUTER JOIN)转换为LinQ [英] Convert SQL (LEFT OUTER JOIN) to LinQ
本文介绍了将SQL(LEFT OUTER JOIN)转换为LinQ的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
有人可以将下面的原始sql转换为linq吗?
Could someone please convert the below raw sql to linq ?
_sql= " SELECT tbl_book.*, tbl_time.tt_scope, tbl_time.tt_time "+
" FROM tbl_time "+
" LEFT OUTER JOIN tbl_book ON tbl_time.tt_time = tbl_book.book_time "+
" AND (tbl_book.ppt_id=@ppt_id AND tbl_book.fct_id=@fct_id "+
" AND tbl_book.book_date=@book_date)";
推荐答案
如果
var ppt_id_param = "@ppt_id";
var fct_id_param = "@fct_id";
var book_date_param = "@book_date";
是我们的参数,而您的上下文是这样:
be our params, and your context be this:
TestEntities DBContext = new TestEntities();
您的linq查询如下:
your linq query is like:
var query = (from time in tbl_time
join book in tbl_book on time.tt_time equals book.book_time
into joinedList
from book in joinedList.DefaultIfEmpty()
where book == null ?
true :
(
book.ppt_id == ppt_id_param &&
book.fct_id == fct_id_param &&
book.book_date == book_date_param &&
)
select new {
time.tt_scope,
time.tt_time
book
})
.ToList();
这篇关于将SQL(LEFT OUTER JOIN)转换为LinQ的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文