Учитывая следующие первые объекты кода 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();
Как мне получить заказы в co.Orders, которые будут заполнены с помощью приведенной выше команды, похоже, что я не могу использовать оператор Include с SqlQuery. Это очень упрощенный пример только для иллюстративных целей, фактические запросы будут более сложными.