自从我使用实体框架和LINQ以来已经有一段时间了。我正在尝试执行SQL查询。这可以在通过父表中的外键定义的一对多关系中正常工作。LINQ包含没有创建一个类似的声明
myEntity.Where(me => me.relatedEntity.Name.Contains("a");
这正确地转换为SQL中的一样。但是,当我通过联结表查询多对多关系时,它会在SQL中创建一个equals语句。
var name = "bo";
myEntity.Where(me => me.Users.Select(u => u.Name).Contains(name));
我是否缺少明显的东西?
感谢
你正在检查的第二个版本,如果名称集合中的任何实体“包含”的确是相同的名称。你应该使用'me.Users.Any(u => u.Name.Contains(name))' –