經過多次搜索google並查找全部答案,我決定在此尋求幫助。包含IEnumberable到列表中的字符串的列<string>
的問題如下: 我有這個LINQ:
var FormQry =
(from a in db.deriv_form
join b in db.deriv_affix on a.s1_id.Value equals b.id into t1
from g1 in t1.DefaultIfEmpty()
join c in db.deriv_affix on a.s2_id.Value equals c.id into t2
from g2 in t2.DefaultIfEmpty()
join d in db.deriv_affix on a.s3_id.Value equals d.id into t3
from g3 in t3.DefaultIfEmpty()
join e in db.deriv_affix on a.p1_id.Value equals e.id into t4
from g4 in t4.DefaultIfEmpty()
join f in db.deriv_affix on a.p2_id.Value equals f.id into t5
from g5 in t5.DefaultIfEmpty()
join g in db.deriv_affix on a.p3_id.Value equals g.id into t6
from g6 in t6.DefaultIfEmpty()
join h in db.deriv_affix on a.p4_id.Value equals h.id into t7
from g7 in t7.DefaultIfEmpty()
join i in db.deriv_stem on a.o1_id equals i.id into t8
from g8 in t8.DefaultIfEmpty()
join j in db.deriv_root on g8.root_id equals j.id into t9
from g9 in t9.DefaultIfEmpty()
select new forma()
{
form = a.form,
s1 = g1.allomorph == null ? "null" : g1.allomorph,
s2 = g2.allomorph == null ? "null" : g2.allomorph,
s3 = g3.allomorph == null ? "null" : g3.allomorph,
p1 = g4.allomorph == null ? "null" : g4.allomorph,
p2 = g5.allomorph == null ? "null" : g5.allomorph,
p3 = g6.allomorph == null ? "null" : g6.allomorph,
p4 = g7.allomorph == null ? "null" : g7.allomorph,
root = g9.morpheme
}).AsEnumerable<forma>();
而且我可愛的備考類看起來像
public class forma
{
public string form { get; set; }
public string s1 { get; set; }
public string s2 { get; set; }
public string s3 { get; set; }
public string p1 { get; set; }
public string p2 { get; set; }
public string p3 { get; set; }
public string p4 { get; set; }
public string root { get; set; }
}
WISH: 我想是從var FormQry
選擇S1列刪除所有空值,將其清除並將其轉換爲List<string>
。
什麼工作,但不是很好: 我發現,現在唯一的辦法就是投FormQry到List<forma>
,並從那裏乘S1分量和迭代槽個個(16K其中:S)榜上無名出來的
歡呼聲!我自己找到了解決方案,並決定讓大家知道我什麼時候看到你的帖子。太感謝了! – Lurker
@Lurker你的意思是這個答案只是一個建議,引導你到你自己的解決方案,這個答案不能解決你的問題? –
這和我自己做的完全一樣,它確實解決了一個問題! :d – Lurker