【发布时间】:2013-04-10 21:48:36
【问题描述】:
我想知道使用实体框架返回包含计算值的实体列表的良好做法/模式是什么?
详细来说,在我的 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 文件中)定义用户自定义类型? 我是否应该定义自己的包含计数且仅用于此功能的实体消息? 还有什么?
希望它足够清楚。感谢您的帮助。
【问题讨论】:
标签: vb.net linq entity-framework-4