Учитывая следующий код POCO Первые сущности
public class Customer
{
public int CustomerId { get; set; }
public string CustomerTitle { get; set; }
public string CustomerFirstName { get; set; }
public string CustomerLastName { get; set; }
public ICollection<Order> Orders { get; set; }
}
public class Order
{
public int OrderId { get; set; }
...
public int CustomerId { get; set; }
public Customer Customer { get; set; }
}
Используя linq, вы можете получить заполненные ордера, используя свойство Include, как в
var cust = (from cust in context.Customer
where cust.CustomerId == 1
select cust)
.Include(ord => ord.Orders)
.FirstOrDefault();
Я пытаюсь получитьтот же результат с использованием параматеризованного sql, используя
Customer co = context.Customer.SqlQuery(
@"select [Customer].[CustomerId],
...
[Order].[OrderId] AS [OrderId],
...
from Customer join Order on Customer.CustomerId = Order.CustomerId where Customer.CustomerId = @custid", sqlParm)
.FirstOrDefault();
Как получить заполнение Orders в co.Orders с помощью вышеуказанной команды, похоже, что я не могу использовать оператор Include с SqlQuery.Это очень упрощенный пример только для иллюстративных целей, реальные запросы будут более сложными.