Users
可以有一个或多个Objects
。
可以Object
与任意数量的 共享Users
。
目前我有:
public class Object
{
[Required]
[Key]
public virtual int ObjectId { get; set; }
public List<int> SharedWith { get; set; }
}
但这意味着为了找到与特定用户共享的那些对象,我必须执行以下操作:
var objects = new List<Object>();
foreach (Object object in _context.Objects)
{
if (object.SharedWith.Contains(userId){ objects.Add(object) }
}
这似乎效率很低。对这种关系进行建模以便使上述查询更有效的正确方法是什么?