我正在编写一个返回一些数据的mvc4服务。我怎样才能避免从表中返回ICollection。
它会产生不必要的过载。在这些示例中,我只想让UserId
和Username
避免UserInfos
。
表
[Table("UserProfile")]
public class UserProfile
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int UserId { get; set; }
public string Username { get; set; }
public virtual ICollection<UserInfo> UserInfos { get; set; }
}
MVC4 API
[HttpPost]
[Authorize(Roles = "administrator")]
public IQueryable GetUsers()
{
var items = _uow.Users.DbSet.Where(x => x.Username == "FirstUser");
return items;
}
答案 0 :(得分:2)
如果您使用EF,则应禁用延迟加载模式(默认设置为true)(在db上下文Configuration.LazyLoadingEnabled = false;
中)。除非您明确要求使用Include()
您不应该因为避免UserInfo被加载而返回IQueryable。