В качестве альтернативы ObjectQuery , если вам нужно больше возможностей для пересечения нескольких таблиц базы данных, используйте context.Database.SqlQuery<>
и SqlParameter
.
Пример:
var searchId = new Guid("16144A52-A092-4876-9C55-A0AD0109F08A");
var sqlparam = new SqlParameter("sid", searchId);
using (var context = new Entities())
{
var sql = @"SELECT t1.Name, t2.ChildName
FROM dbo.Table1 as t1
INNER JOIN dbo.Table1 as t2
ON t1.Id = t2.ParentId
WHERE t1.Id = @sid"
var result = context.Database.SqlQuery<Combined>(sql, sqlparam);
foreach(var r in result)
{
Console.WriteLine(r.Name + r.ChildName)
}
}
public class Combined
{
public string Name { get; set; }
public string ChildName { get; set; }
}