C# LINQ включает VS Navigation, когда присоединится ⇐ C#

Место общения программистов C#
Anonymous
C# LINQ включает VS Navigation, когда присоединится

Сообщение Anonymous »

This post is translated Ko to Eng.
Я понял, что использование включения в структуре предприятия срабатывает стремящуюся нагрузку, и что, когда я включаю несколько сущностей, все они будут соединены в запрос SQL, - если они не используются непосредственно в Select. соединен.
Почему это? /> testtable12 имеет взаимосвязь много-один с TestTable2 < /p>
Вот некоторые примеры LINQ: < /p>
Во всех этих случаях сгенерированный SQL-только это соединяет TestTable1 и обрабатывает необходимые столбцы. Организации не доступны в Select?// Eager loading
// Joining one table
var sql = _context.TestTable12
.Include(d => d.TestTable1)
.Where(d => d.RoleCode == role)
.OrderBy(d => d.TestTable1.Order)
.Select(d => new
{
Col1 = d.Col1,
Col2 = d.Menu.Col2,
})
.ToQueryString();

// Eager loading
// Joining two tables
var sql2 = _context.TestTable12
.Include(d => d.TestTable1)
.Include(d => d.TestTable2)
.Where(d => d.RoleCode == role)
.OrderBy(d => d.TestTable1.Order)
.Select(d => new
{
Col1 = d.Col1,
Col2 = d.TestTable1.Col2,
}).ToQueryString();

// Lazy loading
var sql3 = _context.TestTable12
.Where(d => d.RoleCode == role)
.OrderBy(d => d.TestTable1.Order)
.Select(d => new
{
Col1 = d.Col1,
Col2 = d.TestTable1.Col2,
}).ToQueryString();


Подробнее здесь: https://stackoverflow.com/questions/796 ... -when-join

Вернуться в «C#»