C# ICollection在此上下文中仅支持基元类型或枚举类型
我有两个名为C# ICollection在此上下文中仅支持基元类型或枚举类型,c#,asp.net,asp.net-mvc,C#,Asp.net,Asp.net Mvc,我有两个名为Conversation和AspNetUsers的表 因此,一个对话有多个AspNetUsers 当我找到具有指定的AspNetUsers用户的对话时, List<Conversation> conversations = db.Conversations.Where(m => (m.AspNetUsers.Contains(currentUser) &&
Conversation
和AspNetUsers
的表因此,一个
对话
有多个AspNetUsers
当我找到具有指定的
AspNetUsers
用户的对话时,
List<Conversation> conversations = db.Conversations.Where(m =>
(m.AspNetUsers.Contains(currentUser) &&
m.AspNetUsers.Contains(receiverUser))).ToList();
List conversations=db.conversations.Where(m=>
(m.AspNetUsers.Contains(currentUser)和
m、 AspNetUsers.Contains(receiverUser))).ToList();
我得到了这个错误
在此上下文中仅支持基元类型或枚举类型
你能帮个忙吗?Contains
仅用于原语类型,它在SQL中翻译为。使用Any
并提供检查条件(假设用户有Id):
List conversations=db.conversations
其中(m=>(m.AspNetUsers.Any)(x=>x.Id==currentUser.Id)和
m、 AspNetUsers.Any(x=>x.Id==receiverUser.Id)).ToList();
ohhh,我知道了。多谢各位
List<Conversation> conversations = db.Conversations
.Where(m => (m.AspNetUsers.Any(x=> x.Id == currentUser.Id) &&
m.AspNetUsers.Any(x=> x.Id == receiverUser.Id))).ToList();