我在数据库中有一个表 我在数据库中有一个表,其中包含给用户的消息(文本,图像等) 我有消息名称(表示类别),消息文本(包括图像)和包含所有相关类别(可以为null,1或更多)的消息组。
我需要携带所有与用户相关的消息
public async Task<List<MediaDTO>> GetMedia (string UserType)
{
List<MediaDTO> results = new List<MediaDTO> ();
string media = "Media_"+ UserType;
using (DTS_OnlineContext contextForMessages = new DTS_OnlineContext())
{
//(x => businessIds.Contains(x.BusinessId)).ToList();
//var Images = contextForMessages.Messages.Where(p => p.MessageText.Contains()
var items = await contextForMessages.Messages.AsNoTracking().Where(x => x.MessageContext == media).ToListAsync();
if (items.Count > 0)
{
results = items.GroupBy(x => x.MessageName).ToList()
.ConvertAll(x => new MediaDTO()
{ MediaCategories = x.Key, Media = x.ToList().Select(y => y.MessageText).ToList() });
}
}
但是这样我就错过了在消息组中包含一个以上类别的类别,而只获得了那些为空的类别。 如何区分类别的消息组并提供每个类别的详细信息?