2009-07-11 11 views
6

Obecnie używam SubSonic 3.0 i wygląda to naprawdę prosto (poza tym, że wciąż muszę decydować pomiędzy SimpleRepository i ActiveRecord, ale to już inna historia).Relacje i luźne ładowanie w SubSonic 3.0

Jednak, ponieważ dokumentacja jest trochę rzadka, nie jestem pewien, czy obsługuje ona relacje obce i leniwe ładowanie. Zasadniczo, mam klasy publikacji:

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

i klasę komentarz:

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

Jak widać, wysyłka ma listę komentarzy. Czy mogę jakoś powiedzieć SubSonic, że te dwa są powiązane? Czy mogę automatycznie zapisać wszystkie komentarze po zapisaniu posta? I co ważniejsze, kiedy ładuję księgowanie, chciałbym, aby lista komentarzy była pusta na początku i w pewnym momencie powiedzieć "Dobra, wypełnij ją teraz".

Wiem, że mogę ręcznie zarządzać tym w Kodzie, ale po prostu lubię wiedzieć, czy SubSonic może to zrobić przed wykonaniem pracy ręcznej.

Odpowiedz

4

Rzadki? Czytałeś je jeszcze?

ActiveRecord może określić twoje relacje w oparciu o FK (podobnie jak szablony Linq) i będzie używać IQueryable. Więc masz najlepsze z obu światów - są tam, jeśli ich potrzebujesz.

Jeśli używasz Simple Repo - nie - tak się nie dzieje i wszystko jest ręczne.

+0

Hej Rob ... Ale czy powinien istnieć identyfikator komentarza z aktywnym rozwiązaniem rekordu, który sugerujesz (aby mieć rzeczywisty FK w twojej klasie) lub czy możliwe jest użycie właściwości typu Komentarz dla relacji? –

+0

Witam, zajrzałem do sekcji "Dokumenty" na temat SubSonic, która ma http://subsonicproject.com/docs/Using_ActiveRecord - Może nie byłem wystarczająco jasny: czy ActiveRecord może utworzyć dla mnie mój Schemat? Czy mogę utworzyć go ręcznie, a następnie AR automatycznie użyje FK? –

+1

Tworzysz go ręcznie, a następnie SubSonic automagicznie wygeneruje obiekt i użyje FK –

3

Istnieje prosta opcja do zarządzania kluczami obcymi, nawet jeśli używasz prostego reponu. Aby uzyskać szczegółowe informacje, sprawdź numer this post.