public void SimpleJoinWithPredicate()
{
MySqlDataAdapter da = new MySqlDataAdapter(
@"SELECT b.id,b.name,a.name as author_name from books b JOIN
authors a ON b.author_id=a.id WHERE b.pages > 300", conn);
DataTable dt = new DataTable();
da.Fill(dt);
using (testEntities context = new testEntities())
{
var q = from b in context.Books
join a in context.Authors
on b.Author.Id equals a.Id
where b.Pages > 300
select new
{
bookId = b.Id,
bookName = b.Name,
authorName = a.Name
};
string sql = q.ToTraceString();
CheckSql(sql, SQLSyntax.SimpleJoinWithPredicate);
int i = 0;
foreach (var o in q)
Assert.AreEqual(dt.Rows[i++][0], o.bookId);
Assert.AreEqual(dt.Rows.Count, i);
}
}