Subsonic 3과 SimplerePostitory를 사용하여 POCO를 어떻게 설정합니까? 아니면 컨벤션은 어디에 있습니까?

StackOverflow https://stackoverflow.com/questions/1827630

문제

Subsonic 3과 함께 간단한 위치를 사용할 때 Poco를 설정하는 방법에 대해 자세히 설명하는 곳이 있습니까? 구성에 대한 협약 인 것처럼 들리지만 해당 컨벤션이 설명되는 위치를 찾을 수 없습니다.

http://www.subsonicproject.com/docs/conventions 2.0을위한 것 같습니다. 또한 불완전한 것으로 표시됩니다. (BTW : 현재 문서가 어떤 버전을 참조 할 것인지 약간 혼란스러워서 문서를 2.0과 3.0으로 재구성하는 데 도움을주고 싶습니다.)

예를 들어, 내가 어떻게 설정하는지 알고 싶습니다.

일대일 관계

사용자 <=> 프로필

class User {
  Id
  ProfileId instead of Profile? or is Profile profile possible?
}

class Profile {
  Id
  UserId instead of User? or is User user possible?
}

일대일 관계

class User {
  Id
  IList<Post> Posts (?) or IList<int> PostIds (?) or is this implied somehow?  or is this just wrong?
}

class Post {
  Id
  UserId instead of User? or is User user possible?
}

다수

많은 테이블을 설정해야 할 것 같아요?

class User {
  IList<Blog> Blogs (?) or IList<int> BlogIds (?) or is this implied somehow?
}

class BlogsUsers {  // Do I have to create this class?
  UserId
  BlogId
}

class User {
  IList<User> Users (?) or IList<int> UserIds (?) or is this implied somehow?
}

예제 솔루션에서는 설정이 설정되지 않은 것처럼 보이므로 어떻게 진행할 것인지 궁금합니다 (내 추측 절차 예).

1-1

User.Profile

r.Single<Profile>(p=>p.User == userId);

일대일의 부모

Post.User

id = r.Single<Post>(postId).UserId;
r.Single<User>(id); // which kind of stinks with two queries, JOIN?

일대일의 아이들

User.Posts

r.Find<Post>(p=>p.UserId == userId)

또는 다수

User.Blogs

ids = r.Find<BlogsUsers>(bu=>bu.UserId == userId);
r.Find<Blog>(b=>b.BlogId == ids);  // again with the two queries?  :)

Blog.Users

ids = r.Find<BlogsUsers>(bu=>bu.BlogId == blogId);
r.Find<User>(u=>u.UserId == ids);  // again with the two queries?  :)

나는 두 개의 쿼리가없고 이러한 속성이 이미 어떤 식 으로든 자율적으로 생성 될 수있는 방법이 있어야한다고 가정합니다. 사실 어제 밤에 모든 것을 놀 수있는 한 시간 밖에 걸리지 않았지만 Rob이 나에게 소리를 지르는 것을 조금 두려워합니다. 죄송 해요! :피

이것들이자가 아닌 경우 3.0에 대한보기와 저장 절차는 어디에 있습니까? 당신이 동료에있는 동안 그들을위한 링크를 알려주세요.

도움이 되었습니까?

해결책

이것은 아마도 시작하기에 가장 좋은 곳일 것입니다.http://subsonicproject.com/docs/using_simplerepository

관계는 코드로 설정되어 있으며, 우리는 DB에 전달하지 않습니다 (아직 - 곧 곧). 이상적으로는 필요에 따라 모델을 설정하고 준비가되면 DB의 관계를 수동으로 "고정화"합니다. 이것은 개발 중 마찰을 줄이는 것입니다. 데이터 무결성은 사이트를 구축 할 때 실제로 걱정할 것이 아닙니다.

즉, 사람들 이이 기능을 원한다는 것을 알고 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top