我想知道实体框架返回包含计算值的实体列表的良好做法/模式是什么?
详细地说,在我的 DAL 中,我有一个返回实体列表的函数:
Return (From msg In context.Messages
Where (msg.UserCreation.Equals(From, StringComparison.OrdinalIgnoreCase))).ToList()
这工作正常,这会返回一个列表(消息)。Message 是一个实体,对应于 Sql Server 中的一个表。现在我必须修改这个查询,以便我可以包含每个“消息”的计数。我想知道每封邮件的收件人数量。
Return (From msg In context.Messages
Let countRecipient as integer = context.MessageRecipientJeu.Count(Function(x) x.Message.UserCreation.Equals(From, StringComparison.OrdinalIgnoreCase))
Where (msg.UserCreation.Equals(From, StringComparison.OrdinalIgnoreCase))).ToList()
这返回一个匿名类型,所以我得到一个错误。
我有什么最好的解决方案?
我是否必须在我的实体模型中(在 edmx 文件中)定义用户自定义类型?我是否应该定义自己的包含计数且仅用于此功能的实体消息?还要别的吗?
希望它足够清楚。谢谢你的帮助。