Comment puis-je configurer mon POCO est avec Subsonic 3 et le SimpleRepostitory? ou où est la convention?

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

Question

Y at-il un endroit qui explique comment configurer votre quand de POCO en utilisant le SimpleRepository avec SubSonic 3? On dirait qu'il est sur la configuration convention, mais je ne peux pas trouver où cette convention est expliquée.

http://www.subsonicproject.com/docs/Conventions ressemble était destiné à 2.0, et est également marquée incomplète. (BTW: J'aimerais aider à réorganiser la documentation en plus un 2.0 et 3.0 que les documents actuels sont un peu confus sur la version qu'ils font référence.)

Par exemple, je voudrais savoir comment je vais au sujet de la mise en place d'un

one-to-one relation

L'utilisateur Profil <=>

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

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

Un-à-plusieurs

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?
}

Many-to-many

Je suppose que je dois installer un grand nombre à plusieurs table?

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?
}

Dans la solution exemple, il ne semble pas que ceux-ci sont définies de sorte que je me demande comment vous allez faire un (je suppose un produit par exemple):

one-to-one

User.Profile

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

parent sur un à plusieurs

Post.User

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

enfants d'un à plusieurs

User.Posts

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

ou plusieurs à plusieurs

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?  :)

Je suppose que il doit y avoir un moyen de ne pas avoir les deux requêtes et ces propriétés à déjà générées automatiquement en quelque sorte. À vrai dire que je n'ai seulement une heure à jouer avec tout hier soir, je suis un peu peur de Rob à me crier dessus. Je suis désolé! : P

Si ceux-ci ne sont pas autogen'd alors où sont vues et procédures stockées pour 3.0? S'il vous plaît me donner un lien pour ceux et pendant que vous y êtes camarade SO'er.

Était-ce utile?

La solution

Ceci est probablement votre meilleur endroit pour commencer: http://subsonicproject.com/docs/Using_SimpleRepository

Les relations sont configurés dans le code, par vous, et nous ne les portent pas avant la DB (encore - bientôt je l'espère). Idéalement vous configurez votre modèle que vous avez besoin et quand vous êtes prêt, vous allez « solidifier » manuellement vos relations dans le DB. Cela permet de réduire les frottements lors du développement -. L'intégrité des données ne sont pas vraiment quelque chose à se soucier lors de la construction d'un site

Cela dit, je sais que les gens veulent cette fonction -. J'ai juste besoin de le construire

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top