2016-03-31 10 views
0

kullanarak birden fazla tablo veri almak C tablosundaki bazı sütunlar B + "." (B.Blob.IsDeleted == 0) ama aşağıda hata mesajaşağıdaki gibi ilişkiler 3 tablolar, A, B ve C olan Entities

"türü üzerinde tanımlı bir gezinti özelliği başvurmalıdır yol ifadesini ekleyin. Referans navigasyon için noktalı yolları kullanın özelliklerini almak ve toplama navigasyon için seç operatör özellikleri 'birden fazla tablodan bir sorgu gerçekleştirmek için anahtar koğuş katıl"

bu yaklaşım ya da ben kullanmak zorunda olduğunu kullanmak mümkün mü?'

Teşekkürler.

+1

Bu yanlış soru. EF, * varlıkların * tablolarla değil ile ilgilidir. Üç varlık ilişkiliyse, ilişki haritalandırmasında tanımlanmalıdır. Bu şekilde, kök öğenin yüklenmesi * tüm * ilgili varlıkları yükleyecektir. Eğer birleştirme için aramanız gerekiyorsa, ilişkinin eksik olduğunu gösteren bir işarettir. –

+0

Üzgünüz, varlık bir tabloyu temsil ettiğinden, varlık anlamına gelir. 3 varlığı (yukarıda belirttiğim gibi) çarmıyorum, sadece üç varlığın tümünden farklı filtrelerle veri almak istiyorum. – user1630359

+0

A a, B b, C c konumundan a.id = b.Emp_id ve b.id = c.Role_Id gibi bir seçime * ihtiyacım var. Varlık Çerçevesi ve LINQ – user1630359

cevap

0

Include fonksiyonu sadece için EF anlatırInclude d varlıkları ön getirme, bu arada çok sayıda ilgili tablo verileri birleştiren bir sorgu yürütme aynı değildir.

Yani şu kod:

myContext.TableA.Include("B").First(); 

Bu aynı zamanda navigasyon özelliği "B" tarafından gösterilen varlık yüklemek için varlık çerçevesini söyler. Bu çok benzer bir gerçeği olsa da, Join() sorgusu yapmakla aynı şey değildir. İhtiyacınız A no'lu varlığın bazı kriterler ile ve daha sonra A -> B ve B-> C'den navigasyon özellikleri aracılığıyla A ile ilgili olan tüm varlıkları almaksa, bu sizin için çalışmalıdır.

böyle sorgulanırken, farklı özelliklerde (alanları) üzerinde katılmadan gibi daha karmaşık bir şey yapmak istiyorsanız bir B veya C özelliğine dayanarak; daha sonra Include işlevi sizin için çalışmayacak.

+0

Sadece üç varlığın tüm alanlarındaki bazı filtrelere göre veri almak istiyorum. SQL sorgusu kullanacak olsaydım, bu bir şeydi ... A'dan, a b b C C'den a.id = b.Emp_id ve b.id = c.Role_Id. Buradaki sonuçlar, üç tablodan sonra filtrelendikten sonra. şimdi Entity Framework ve LINQ kullanarak aynı istiyorum – user1630359

İlgili konular