0
"0000000385242160714132019116002239344.ACK"のような列の値を持つリストがあります。リストにバインドするときには "239344"のようにこの値から最後の6桁。 そして私は給与項目の合計も見つける必要があります。linqを使用してリスト内の文字列値を分割する
私の質問は以下のようになります。
var result = from p in Context.A
join e in B on p.Id equals e.Id
join j in Context.C on e.CId equals j.CId
where (e.Date >= periodFrom && e.Date <= periodTo)
group new
{
e,
j
} by new
{
j.J_Id,
e.Date,
e.Es_Id,
e.FileName,
j.Name,
e.ACK_FileName,
p.EmpSalaryId,
p.Salary
} into g
orderby g.Key.CId, g.Key.Es_Id, g.Key.Date, g.Key.FileName
select new
{
CorporateId = g.Key.CId,
ProcessedDate = g.Key.Date,
EstID = g.Key.Es_Id,
FileName = g.Key.FileName,
Name = g.Key.Name,
ack = g.Key.ACK_FileName,
EmpSalaryId = g.Key.EmpSalaryId,
Salary=g.Key.Salary
};
var Abc=result.ToList();
部分文字列の場合のために働いてGilad.Its @ありがとうございました。しかし、合計のために、私がフィールド給与にアクセスしようとしたときに、そこにはeとjしか得られませんでした。あなたは私をソートアウトに助けてくれますか? –
@SinoyDevassy - ああ申し訳ありません....あなたは 'group new {/ * here .. * /}'に追加する必要があり、 'by new'ではそれを持たないようにする必要があります。 - 意味があるの? 一般的に私はあなたのコレクションとアイテムに適切な名前を使用することをお勧めします。それは何が起こっているのかを理解することをはるかに簡単にする –
うん...それは動作します。私はlinqで新しいです。提案していただきありがとうございます。:-) –