1
일부 데이터를 반환하는 mvc4 서비스를 작성하고 있습니다. 테이블에서 ICollection을 반환하지 않도록하려면 어떻게해야합니까? 불필요한 과부하가 발생합니다. 이 예제에서 저는 단지 UserId
과 Username
을 피하고 UserInfos
을 피하고 싶습니다.Return IQueryable ICollection 반환하지 마십시오
표
[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;
}
답장을 보내 주셔서 감사합니다.하지만 Lazy Loading없이 _uow.Users.UserInfos.Add (new UserInfo())와 같은 테이블을 추가 할 수는 없습니다. IQueryable을 반환하지 않아야하는 이유는 무엇입니까? DbSet을 사용하여 자동으로 모든 것을로드합니까? –
게으른 로딩에서 테이블을 추가하는 데 문제가있을 것이라고 생각하지 않습니다. (시도하지 않았으므로 잘못 될 수 있습니다) - 문제가 발생하면 어떤 오류 메시지가 나타 납니까? IQueryable 정보 - 죄송합니다. 나는 곧장 생각하지 않았습니다. 이 모습으로 IQueryable과 OData를 결합하는 것이 좋은 웹 API를 만들고 있습니다. –