实体到字典的转换简化



所以我们以某种方式做事,我想知道它是否过于复杂,它的工作单元和存储库,但是为了简化这里是我们所做的,没有显示所有代码。

首先我们查询并返回一个列表

return _db.content.Where(c => (c.page == page).ToList();

然后我们遍历列表并将其转换为字典

Dictionary<string, ContentEntry> contentResult = new Dictionary<string, ContentEntry>();
foreach (content c in defaultContentQ)
{
    contentResult.Add(c.name, new ContentEntry()

ContentEntry 是一个类,仅用于再次表示数据。

内容实际上只是一个键对值(名称和数据),我认为必须有一种更简单的方法来实现这一点。

 var contentResult = _db.content.Where(c => c.page == page)
     .ToDictionary(o => o.name, o => new ContentEntry());

我不确定你为什么有new ContentEntry(),如果你想要与名称相同的对象和键

 var contentResult = _db.content.Where(c => c.page == page)
     .ToDictionary(c => c.name, c=>c);