2012-08-14 48 views
0

我有一个复杂的sql语句,我试图转换为EF,并且我只剩下一个问题。加入包含参数字符串的'on' - EntityFramework

这是SQL

inner join history_master h2 
on h.taskid=h2.taskid and h2.file_no = 'REX223349' 

有问题的一部分,我想,在EF,但我无法弄清楚如何考绩制度file_no作为参数。

我想:

.Join(context.History_master, h => new { h.h.h.taskid, h.h.h.file_no }, h2 => new { h2.taskid, h2.file_no.Where(fileNumber) }, (h, h2) => new { h, h2 }) 
//fileNumber is a string passed to the function 

我认为这将执行上taskidh2.file_no = 'REX223349'的加入,而是它给了我一个错误。

任何人都可以在这里指出正确的方向吗?我如何将字符串传递给EF,以便像上面的SQL语句那样执行连接?让我知道你是否需要更多的细节,或者你需要解释的东西。这是相当困难的把这个问题成有意义的话:/

回答

0

尝试这样:

var result = (from t in context.Task 
    join h in context.History_mast on new (taskID = t.taskID, File_no = "REX223349") equals new (taskID = h.taskID, File_no = h.File_no) 
    select new (t,h));