¿Cómo puedo configurar mi POCO de la primera mezcla 3 y el SimpleRepostitory? o ¿dónde está la convención?

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

Pregunta

¿Hay algún lugar que detalla cómo configurar de cuando se utiliza el SimpleRepository con SubSonic 3 su POCO? Suena como si fuera convención sobre configuración, pero no puedo encontrar donde se explica que la convención.

http://www.subsonicproject.com/docs/Conventions parece que fue destinado a 2,0, y también está marcado incompleto. (Por cierto: me encantaría ayudar a reorganizar los documentos en más de un 2.0 y 3.0 como los documentos actuales son un poco confusos de la versión que se están refiriendo.)

Por ejemplo me gustaría saber cómo me gustaría ir sobre la configuración de un

uno-a-uno

El usuario <=> perfil

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

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

Uno-a-muchos relación

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

Muchos-a-muchos

supongo que había necesidad de configurar una mesa de muchos a muchos?

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

En el ejemplo de solución que no parece que éstos están situados de modo que me pregunto cómo le gustaría ir haciendo un (mi ejemplo guess procede):

uno-a-uno

User.Profile

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

padre en una-a-muchos

Post.User

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

niños en uno-a-muchos

User.Posts

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

o muchos-a-muchos

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

Me gustaría asumir que no tiene que haber una manera de no tener las dos consultas y para que estas propiedades ya ser generados automáticamente de alguna manera. A decir verdad pesar de que sólo tenía una hora para jugar con todo la noche anterior, así que estoy un poco de miedo de Rob gritarme. ¡Lo siento! : P

Si no se autogen'd entonces dónde son vistas y procedimientos para almacenaje de 3.0? Por favor, dame un enlace para aquellos tan bien mientras estás en ello compañero SO'er.

¿Fue útil?

Solución

Este es probablemente el mejor lugar para empezar: http://subsonicproject.com/docs/Using_SimpleRepository

Las relaciones son de configuración en el código, por ti, y que no llevan los que llegue el DB (todavía - esperemos que pronto). Lo ideal es que la configuración de su modelo como sea necesario y cuando esté listo vas y manualmente "solidificar" sus relaciones en la base de datos. Esto es para reducir la fricción durante el desarrollo -. Integridad de los datos no es realmente algo que preocuparse de la hora de construir un sitio

Dicho esto, sé que la gente quiere esta característica -. Sólo tengo que construirlo

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top