2010-11-18 15 views
0

içinde popüle değil LLBLGEN ile mücadele ediyorum ve genel olarak ORM'leri tahmin ediyorum. Bir varlık yarattım, açıklamak için bir kitaplık örneği kullanalım:LLBLGEN ilgili dizi, varlık

Bir kitap nesnesini görüntülemek ve ayrıca kitabı ödünç almış kullanıcıların listesini döndürmek istiyorum. , böylece bir kullanıcı listesi içeren kitap nesnesini geri vermem gerekiyor.

List<user> Loans 

krediler tablosu şöyle olabilir: Şu anda

int id 
int userid 
int bookid 

benim krediler varlık

DTO Book:: 
int bookId, 
string bookName 

ayrıca benim kitap ile kitap ödünç olan kullanıcıların bir koleksiyon dönmek isteyen şimdi bunu oluşturdu:

DTO Loans 
int id 
User user // user entity 
Book book // book entity 

Bu örneğin llblgen'de nasıl çalışacağını anlamak için uğraşıyorum. Bir rehber eşliğinde yardımcı olabilir veya bir eğitim yolunda bana işaret edebilir misiniz? Şu anda, bir kitapla ilişkili yeni bir kredi ile model Kitap güncellemek için geldiğimde, stackoverflow hataları alıyorum. Kitabımın nesnesini güncellemeye çalışırken bir çeşit döngü oluşturduğunu varsayalım.

sayesinde

cevap

1

SQL'de bir profiler çalışırken, sql deyiminin, ilişki varlıklarıma herhangi bir birleşim ifadeleri içermediğini fark ettim.

 var query = new DomainSearch<T> 
        {  
         SearchText = searchText, 
         PrefetchItems = 
          { 
           new Prefetch(typeof(Users)) 
          } 
        }; 
0

emin olmak için, belirli bir Kitap varlık ödünç Kullanıcı kuruluşların listesi için arıyoruz. Bu doğru kullanım durumu mu yoksa belirli bir kitabı ödünç almış Kullanıcı varlıklarının bir listesini mi arıyorsunuz?

Yine de, LLBLGen'in bu durumlar için desteği, varlıklar arasındaki ilişkileri referans alarak ve ilgili varlıkları hızlı ve kolay bir şekilde kullanmada mükemmeldir.

benzersiz BookID/ISBN bir kitabını/vs ....

// Get the specific book entity 
BookEntity book = new BookEntity(bookId); 

foreach(UserEntity user in book.users) 
{ 
    // do stuff with list of users 
} 

Bu varlıklar arasındaki ilişkilerinizi tanımladığınız varsayarak bu kadar basit kadar aradığınız varsayılmıştır.

+0

Bu örnek, ilgili koleksiyonların tembel yükleme destekler SelfServicing, kullandığınız varsayılmaktadır: my ilişkiler için önceden getirme öğeleri dahil hiç alanım sorgusu, benim sorguya aşağıdaki eklenen çünkü bu oldu. Bağdaştırıcı kullanıyorsanız, PreFetch yollarını kullanarak ilgili koleksiyonu kendiniz almanız gerekir. – Matt