2009-07-11 12 views
6

Estoy jugando con SubSonic 3.0 por el momento, y parece muy sencillo (excepto que todavía tengo que decidir entre SimpleRepository y ActiveRecord, pero esa es otra historia).Relaciones y carga lenta en SubSonic 3.0

Sin embargo, como la documentación es un poco escasa, no estoy seguro de si admite relaciones foráneas y carga lenta. En esencia, tengo una fijación clase:

public class Posting { 
    [SubSonicPrimaryKey] 
    public Guid InternalId { get; set; } 
    public string Title { get; set; } 
    public string Body { get; set; } 
    public DateTime? PostingDate { get; set; } 
    public List<Comment> Comments { get; set; } 
} 

y un comentario de clase:

public class Comment 
{ 
    public string Body { get; set; } 
} 

Como se puede ver, Correos tiene una lista de comentarios. ¿De alguna manera puedo decirle a SubSonic que estos dos están relacionados? ¿Es que puedo guardar automáticamente todos los comentarios cuando guardo la publicación? Y, lo que es más importante, cuando cargo una Publicación, me gustaría que la Lista de Comentarios esté vacía al principio, y en algún momento decir "De acuerdo, rellenela ahora".

Sé que puedo administrar esto manualmente en el Código, pero solo me gustaría saber si SubSonic puede hacerlo antes de hacer el trabajo manual.

Respuesta

4

Sparse? ¿Ya los has leído?

ActiveRecord puede determinar sus relaciones basadas en FK (también lo pueden hacer las Plantillas de Linq) y usará IQueryable. Así que obtienes lo mejor de ambos mundos: están ahí si los necesitas.

Si usa Simple Repo - no - esto no sucede y es todo manual.

+0

Oye, Rob ... Pero, en caso de que exista un Comentario con la solución de registro activo, sugieres (para tener un FK real en tu clase) o es posible utilizar una propiedad de tipo ¿Comentario para la relación? –

+0

Hola, he visto la sección "Documentos" en SubSonic, que tiene http://subsonicproject.com/docs/Using_ActiveRecord - Tal vez no fui lo suficientemente claro: ¿Puede ActiveRecord crear mi esquema por mí? ¿O lo creo manualmente y luego AR usará automágicamente el FK? –

+1

Usted lo crea manualmente y luego SubSonic generará automáticamente el objeto y usará el FK –

3

Hay una opción simple para administrar claves externas, incluso si está utilizando Simple Repo. Consulte this post para los detalles.