Linq 或 lambda 选择修改一个的所有字段

有没有办法选择查询中的所有字段,但像这样修改一个字段?


    var notes = from n in myContext.Notes

                select new 

                {

                  ...   // all fiedls

                  date = n.date.ToString("MM/YYYY") // but one field edited

                }

这是我想要的查询,但当我有几个属性时就不那么冗长了。


var note = await _dbContext.ClientChartNotes

                  .Select(s => new

                  {

                    s.ClientChartNoteId,

                    s.ClientId,

                    s.ChartNoteType,

                    s.Title,

                    s.Note,

                    ChartNoteDate = s.ChartNoteDate.ToString("MM/dd/yyyy")

                  })

                  .FirstOrDefaultAsync(s => s.ClientChartNoteId.Equals(id));

首选 Lambda。


谢谢


编辑:包括原始查询。


繁花不似锦
浏览 322回答 2
2回答

Qyouu

我建议选择注释本身和附加字段。var notes = from n in myContext.Notes        select new         {            Note= n            NewDate = n.date.ToString("MM/YYYY")        }因此,您的笔记将包含所有原始笔记以及您在结果中添加的其他属性。

沧海一幻觉

您使用 lambda 的查询:var fetchedNote = await myDbContext.Notes        // get the collection of all Notes    .Where(note => note.ClientChartNoteId == Id) // take only those notes that ...    .Select(note => new                  // from every remaining note, make one new object    {                                    // with only the properties you plan to use        Title = note.Title,              // some are original values        ...        Date = note.Data.ToString(...),  // some are calculated values    })    .FirstOrDefaultAsync();
打开App,查看更多内容
随时随地看视频慕课网APP