2015-09-28 2 views
1

Как указать в EF7, что я хочу явно загрузить ссылочное свойство Subject моего объекта ApplicationUser? В EF6 следующее определяется в пространстве имен System.Data.EntityFramework.Infrastructure:EntityEntry <ApplicationUser> не содержит определения для 'Reference'

public DbReferenceEntry<TEntity, TProperty> Reference<TProperty>(Expression<Func<TEntity, TProperty>> navigationProperty) where TProperty : class; 

Так этот код:

public async override Task<ApplicationUser> FindByIdAsync(string userId, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) 
    { 
     var user = await base.FindByIdAsync(userId); 
     this.Context.Entry(user).Reference(u => u.Subjects).Load(); 
     return user; 
    } 

дает исключение

EntityEntry<ApplicationUser> does not contain a definition for 'Reference'. 

Где этот метод расширения определяется в EF7?

ответ

1

В EF7 по состоянию на бета7 нет эквивалента.

Чтобы включить связанные объекты, используйте желаемый способ загрузки с помощью метода .Include() в запросе.

context.User.Include(u => u.Subjects)

Смежные вопросы