ASP.NET MVC, IoC, POCO 등을 처음 접했으므로 이러한 종류의 아키텍처를 사용하는 것이 좋음을 알고 싶습니다.지연로드가 포함 된 POCO 객체
이것은 내 데모 프로젝트입니다.
Project.Core (모든 프로젝트에 의해 참조이 어셈블리)
public class User
{
public string Name {get; set;}
public List<UserGroup> UserGroups{get; set}
}
public class UserGroup
{
public string Title{get; set;}
}
public interface IUserService
{
User GetById(int id);
}
public interface IUserGroupService
{
List<UserGroup> GetByUser(User user);
}
좋아 보인다,하지만 어떻게 내가 게으른 로딩이 방법을 사용할 수 있습니까? 나는 얻고 싶지 않다. 사용자 그룹 때마다 사용자.
public class User
{
public string Name {get; set;}
public List<UserGroup> UserGroups
{
get { return _groups ?? (_groups = Services.UserGroupService.GetByUser(this)); }
set { _group = value;}
}
}
public class Services
{
// this class populates some kind with Unity
public static IUserGroupService UserGroupService {get; set;}
}
내 솔루션의 단점은 무엇입니까 :
내 생각은 내 사용자 클래스 이런 식으로 수정하는 것입니다? 내 POCO 개체가 IUserGroupService 인스턴스를 사용하는 것을 좋아하지 않습니다.