2010-12-16 13 views
6

Bileşik bir anonim tip oluşturuyorum ve NoPercent için YesPercent'e başvurabilir miyim diye merak ediyorum?Referans anonim tip özellikleri

var test = (from p in db.users 
      group p by p.ID into g 
      select new 
      { 
       ID = g.Key, 
       Frequency = g.Count(), 
       Question = g.FirstOrDefault().Question, 
       YesPercent = 50*564/32.5, 
       NoPercent = YesPercent - 10 
       }) 
+0

Neden koşup kendiniz görmüyorsunuz? –

cevap

9

Değişim o kadar biraz

var test = (from p in db.users 
      group p by p.ID into g 
      let yesPercent = 50*564/32.5 // this variable will be available in your select 
      select new 
      { 
       ID = g.Key, 
       Frequency = g.Count(), 
       Question = g.FirstOrDefault().Question, 
       YesPercent = yesPercent, 
       NoPercent = yesPercent - 10 
       }) 

seni gerçekten oluyor daha karmaşık bir şey olduğunu varsayalım. Sonuçta, YesPercent hesaplaması, sorgulanan verilerle ilgisi yoktur, bu nedenle sorgu dışında bir değişken çok iyi bildirebilir ve içeride kullanabilirsiniz.

+0

Bir şeyleri rastgele öğrendiğim günleri seviyorum. – Robaticus

+0

, LINQ sözdiziminin çok kullanışlı, ama görünüşte yetersiz kullanıldığı bir özelliktir. +1 –