实体框架:排除导航属性

时间:2016-01-03 13:18:34

标签: c# sql asp.net .net entity-framework

我正在使用Entity Framework 6,我想检索一个具有多个导航属性的实体。我不想检索其中一个,但我找不到实现这个目标的方法。

这是我的模特:

Imgur

全尺寸图片:http://i.imgur.com/KFdsTVU.jpg?1

我想检索除了讨论之外的会话实体的所有导航属性。 所以我做了:

        using (var context = new ModelContainer())
        {
            context.Database.Log = msg => Trace.WriteLine(msg);
            var session = await
                context.SessionSet.FirstOrDefaultAsync(a => a.Identifier == sessionIdentifier);
            var result = await Json(session).ExecuteAsync(new CancellationToken());
            return ResponseMessage(result);
        }

但我希望实体框架有一个排除实体字段的方法。

1 个答案:

答案 0 :(得分:0)

我最终这样做了:

          var session = await
                context.SessionSet.Select(a => new
                {
                    Host = a.Host,
                    Identifier = a.Identifier,
                    Destination = a.Destination,
                    Positions = a.Positions,
                    Sentinelles = a.Sentinelles,
                    Id = a.Id,
                    Code = a.Code,
                    Notifications = a.Notifications,
                    Status = a.Status,
                    Transportation = a.Transportation
                }).FirstOrDefaultAsync(a => a.Identifier == sessionIdentifier);
            var result = await Json(session).ExecuteAsync(new CancellationToken());