私はLINQを初めて使用しています.LINQでIF ELSEを書く方法についてちょっと混乱しています。複数の条件でLINQを書き込む方法
私が作成した現在のLINQは、次のとおりです。
lstRecord = (from a in lstPerson
select new GeneralCommonFunctions.MemberDetailSumary
{
AgeGroupId = a.AgeGroup_id!=null? a.AgeGroup_id.Value: 0,
AgeGroupText = a.Agegroup!=null?a.Agegroup.Description: "",
}).ToList();
今、私は、年齢グループにそれを分類し、一覧からDOBを取得し、今日の日付に基づいて、現在の年齢を計算したいと思います(現在のバージョンはデータベースから直接agegroupを取得します)。
利用可能な年齢層である:
- BELOW
26-35(IDが1である)
36-45(IDは2である)、(IDである3)
46-55
5(IDは4です) 5以上、例えば
(IDが5である)部材DOBは、1990年1月15日であれば、彼がメンバーDOBは、1970年12月20日であれば2 をagegroupに属し、彼が属しますagegroup 4.
私はこのコーディングでstucked午前:
lstRecord = (from a in lstPerson
select new GeneralCommonFunctions.MemberDetailSumary
{
Age = DateTimeUtility.GetCurrentAge(a.Dob),
//I dont know how to continue in this part, my idea is if the age is 0-25, the agegroup_id is 1, if the age is 30, the agegroup_id is 2.
}).ToList();
はあなたの誰もがこれで私を助けることができていますか?ありがとうございました !
UPDATE:
私は更新のアイデアボタンをクリックしたときにLINQを使用してすべての行を持っています。たとえば、ユーザーがボタンをクリックすると、システムはすべての人DOBをチェックし、データベース内の年齢グループを更新します。
たとえば、DOBが1990-01-01の場合、BOB DOBが1970-05-15の場合、年齢グループは4に更新されます。
データベース内のすべての行を更新するためのlinqの書き方は? ありがとうございます!
を入れてその後さて私は、ネストされた条件演算子とそのすべてのロジックを記述しようとしないでしょう。年齢がバンドをチェックし、適切なidを返すことを計算するメソッドを書くだけです。 – juharr
データベースに計算カラムを追加する方がよいでしょう。https://technet.microsoft.com/en-us/library/ms191250(v=sql.105).aspx – MarcinJuraszek