Я использую Entity Framework 4.1 (Code First) в качестве структуры отображения O / R:
У меня есть три сущности: Post, PostForUser и User, тогда как PostForUser связан ровно с одним Post и одним пользователем.
Теперь я хочу получить все сообщения для данного пользователя и дополнительно загрузить пользователя, который создал сообщение:
var posts = _dbContext.PostsForUser
.Include("Post.ByUser")
.Where(x => x.WasRead == false && x.User.Id == CurrentUser.Id)
.Select(x => x.Post)
.ToArray();
Используя приведенный выше запрос, свойство «ByUser» никогда не загружается. Я вообще не использую отложенную загрузку, но все равно не могу заставить загрузку работать должным образом.
Не зарегистрировано никаких пользовательских конфигов сопоставления или специальных соглашений. Просто следующие определения сущностей:
public class Post
{
public int Id { get; set; }
public string Content { get; set; }
public DateTime Date { get; set; }
public User ByUser { get; set; }
}
public class PostForUser
{
public int Id { get; set; }
public User User { get; set; }
public Post Post { get; set; }
public bool WasRead { get; set; }
}