the*_*per 0 c# linq entity-framework linq-to-sql
我有一个返回实体框架表的函数,但我只需要通过另一个实体列表传入的某些 ID。我不确定这样做的正确方法,我尝试了以下方法,但列表导致了问题......
public IEnumerable<Payment> PaymentsForContact(List<User> user) =>
_context.Payments.Where(p=> p.Id == user.Id;
Run Code Online (Sandbox Code Playgroud)
有没有一种方法可以遍历用户对象以仅返回 _context.Payments 中的用户 ID?
提前致谢
要迭代某些东西,即在两个表中,您可以使用连接
Payments.Join(Users, p=>p.UserID, u =>u.UserID, (p,u)=>p)
Run Code Online (Sandbox Code Playgroud)
返回具有用户的付款。
如果您已经有一个 ID 列表,则可以使用 contains
var list = new List<int> { 1,2,3,4};
Payments.Where( p => list.Contains(p.UserId));
Run Code Online (Sandbox Code Playgroud)
但这仅推荐用于小 id 列表(小于 100),因为所有 id 都成为查询字符串的一部分。