SQL Server 용 서비스 스택 ORMLite를 사용하기 시작 했으므로 몇 가지 사항을 알 수 없습니다. 제가 달성하기 위해 노력하고 무엇을, 모범을 보여주지 :ServiceStack OrmLite 다 대 일 관계
내가 2 개 테이블이 - 사용자는 1 역할에 속할 수 있습니다 사용자 및 역할
public partial class Users : IHasId<int>
{
[AutoIncrement]
public int Id { get; set; }
[Required]
public string Email { get; set; }
[Required]
public string Password { get; set; }
[References(typeof(Roles))]
[Required]
public int RolesId { get; set; }
}
public partial class Roles : IHasId<int>
{
[AutoIncrement]
public int Id { get; set; }
[Required]
public string Name { get; set; }
}
합니다. 그러나 많은 사용자가 동일한 역할에 속할 수도 있습니다. 예 :이 코드
db.LoadSelect<Users>(x => x.Id == 1);
을 실행하면
User 1 - Role 1
User 2 - Role 1
User 3 - Role 2
내가 사용자가 좋은 개체를 얻을. 나는 (역할 테이블을 별도로 쿼리하는 대신) Roles 개체를 쿼리가 반환하도록하고 싶습니다. 어떻게해야합니까? 내가 여기서 무엇을 놓치고 있니? 나는 "얼마나 많은 사용자가 X 역할을 갖고 싶습니까?" (Typical One 2 Many relationship like this : ServiceStack OrmLite mapping with references not working) 대신에 "이 사용자의 역할은 무엇입니까?" 귀하의 사용자 테이블에 역할 속성을 추가하여 self references 사용 OrmLite에서 지원 한 관계, 예를 들면 :
public partial class Users : IHasId<int>
{
[AutoIncrement]
public int Id { get; set; }
[Required]
public string Email { get; set; }
[Required]
public string Password { get; set; }
[References(typeof(Roles))]
[Required]
public int RolesId { get; set; }
[Reference]
public Roles Roles { get; set; }
}
public partial class Roles : IHasId<int>
{
[AutoIncrement]
public int Id { get; set; }
[Required]
public string Name { get; set; }
}
다음 채워집니다
와우! 이게 단순한거야? 엄청 고마워!!! – Ubaid