Multi-Level Includes in CodeFirst - EntityFrameWork

Как другие ответы упоминают, Reverse(), дополнительный метод позволит Вам перечислить последовательность в обратном порядке.

Вот случайный метод расширения перечисления:

public static IEnumerable OrderRandomly(this IEnumerable sequence)
{
    Random random = new Random();
    List copy = sequence.ToList();

    while (copy.Count > 0)
    {
        int index = random.Next(copy.Count);
        yield return copy[index];
        copy.RemoveAt(index);
    }
}

Ваше использование было бы:

foreach (int n in Enumerable.Range(1, 10).OrderRandomly())
    Console.WriteLine(n);

25
задан Nuri YILMAZ 28 June 2013 в 07:21
поделиться

1 ответ

Если AdditionalProperties является единственной ссылкой на другой объект:

using System.Data.Entity;
...
IQueryable<Product> productQuery = ctx.Set<Product>()
        .Include(p => p.Contexts.AdditionalProperties.Field)
        .Where(p => p.Id == id);


Если AdditionalProperties является коллекцией, вы можете использовать Выберите метод :

IQueryable<Product> productQuery = ctx.Set<Product>()
        .Include(p => p.Contexts.AdditionalProperties.Select(a => a.Field))
        .Where(p => p.Id == id);

Не забудьте импортировать пространство имен System.Data.Entity в файл класса!

43
ответ дан 28 November 2019 в 21:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: