是否可以仅选择要返回的特定字段。在这些示例中,所有Tickets
包括Username
。
LazyLoading已禁用。
[Table("UserProfile")]
public class UserProfile
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int UserId { get; set; }
public string Username { get; set; }
public DateTime? LastOnline { get; set; }
public Tickets Tickets { get; set; }
}
代码
var whereQuery= "x => true";
_uow.Users.DbSet.Include("Tickets").Where(whereQuery).OnlyTickets.IncludeUsername();
//or
var whereQuery= "x => true";
_uow.Tickets.DbSet.Include("UserProfile").Where(whereQuery).OnlyTickets.IncludeUsername();
答案 0 :(得分:2)
这个怎么样:
_uow.Users.DbSet.Where(whereQuery).Select(u => new {Tickets = u.Tickets, Username = u.UserName});
你可以在那里添加Include(item => item.Tickets)以加载热门门票prperty,但这不是强制性的。如果您不想使用匿名类型,可以使用Tuple:
_uow.Users.DbSet.Where(whereQuery).Select(u => new Tuple<List<Ticket>,string>(u.Tickets, u.UserName));