有人可以将下面的原始sql转换为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)";
答案 0 :(得分:0)
如果
var ppt_id_param = "@ppt_id";
var fct_id_param = "@fct_id";
var book_date_param = "@book_date";
是我们的参数,你的背景是这样的:
TestEntities DBContext = new TestEntities();
你的linq查询就像:
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();