Entity Framework-以编程方式将Includes添加到ObjectQuery

问题描述 投票:2回答:1

我有一个实体框架模型,在这里我有一个具有以下关系的用户:

User 1-* Test

每个测试具有以下关系:

Test 1-1 Course
Test 1-* TestEvent

我有一个返回用户的服务,并且在我的应用程序的不同位置,我想热切地获取各种关系。我目前正在获取所有关系:

var result = (from appUser in context.AppUsers.Include("Tests.Course")
    .Include("Tests.TestEvents")
    where appUser.Login.ToLower() == loginName.ToLower() &&
    appUser.IsDeleted == false
    select appUser).FirstOrDefault();

我不想总是返回链接到Test或TestEvents的课程。如何构建ObjectQuery并根据需要动态添加Include语句,而不是使用一系列if else语句。

entity-framework-4
1个回答
5
投票

嗯,由于Include返回一个IQueryable<T>(可链接的LINQ),所以我将使用一种简单的扩展方法:

© www.soinside.com 2019 - 2024. All rights reserved.