2009-03-04 15 views
0

SQL adında basit bir tablo olan Job adında SQL adında bir LINQ var. Çoğu zaman ihtiyacım olan şey için çalışır, ancak bazen bu varlıkta daha fazla alana ihtiyacım var. LINQ tarafından oluşturulan sınıfa yeni alanlar eklemek için kısmi sınıfları kullanabileceğimi biliyorum, ama sorum şu ek verileri nasıl dolduracağım? Örneğin, İş tablonun tüm değerlerini ve doldurmam gereken ek verileri geri çeken saklı bir procum var. Varlık popülasyon rutinlerine bağlanmak isterim ve bu veriler mevcut olduğunda, onu yok sayılırsa yok sayılır. Basit çözümün bir manzara yaratmak olduğunu biliyorum, ama bu çözümü sevmiyorum.SQL tarafından oluşturulan nesneye LINQ için "ek veri" ekleyin?

LINQ'un verileri aldığını ve varlığın bulunduğu yeri belirlediğini anlayamıyorum. Herhangi bir fikri olan var mı?

cevap

0

(doğal tahmin), SQL görünümünden bir varlık yaratabilirsiniz. SP'de olduğu gibi, birleştirmeler vb. ile db görünümü oluşturun, ardından bu görünümü LINQ tasarımcısına ekleyin ve ihtiyaç duyduğunuz tüm teçhizata sahip bir varlık yaratmalısınız.

VEYA

(iyi) (opsiyonel alanlar ile) tam varlığı temsil ettiği bir sınıf oluşturun ve bu süreçte yeni bir adım olarak (eğer halen var) birçok entites eşlenir. Bu daha uzun coz, bunu yapmak için başka bir soyutlama katmanı yaratmak isteyeceksiniz .. ve daha sonra onu almak için tüm varlık kümesini, vs.'yi soyutlamak isteyeceksiniz. Bu yüzden daha fazla çalışma .. ama sizi daha da yaklaştırıyor daha temiz bir Etki Alanı Modeline (eğer istediğin buysa).

+0

Evet, çözüm birimini sevmiyorum çünkü ek varlıklar ekliyor. İki çözümle ilgili sorun, veritabanımı iki kez sorgulamamı ve kaçınmayı umuyordum. –

+0

ikinci seçenek, 2 sql sorgu gerektirmez. Bu örnekte, -same datacontext- içindeki LINQ varlıklarına bir eşleme yaratabilirsiniz. LINQ daha sonra tek bir sql sorgusunda uygun birleşmeler vb. –

İlgili konular