【发布时间】:2011-09-27 18:18:55
【问题描述】:
我有一个包含两个实体 A 和 B 的数据库。A 和 B 在它们之间具有多对多关系(还有一个 AB 表也是自动创建的以实现这一点)。 A 有 A_prop(key),B 有 B_prop(key)。
我想,给定一个特定的 B_prop,找到与 B 的关系中的所有 A,(将它们称为 Ayes 和 Bees 用于相应的导航属性),具有特定 B_prop 的 B。
所以我有这个代码:
public class Repository
{
private ABEntities entities = new ABEntities();
public IQueryable<A> FindAllA(string b_prop)
{
return from b in entities.Bs
where b.B_prop == b_prop
select b.Ayes;
}
}
这里的返回类型不匹配。我真正想要的是有一个 A 的列表,或者类似的东西,我可以通过以下方式使用:
List<A> listofa = repository.FindAllA("some string");
foreach (A a in listofa)
{
// Do my stuff here.
}
编辑:
感谢您的回复。这是我的问题的解决方案(经过测试):
public List<A> FindAllA(string b_prop)
{
return (from b in entities.Bs
where b.B_prop == b_prop
select b.Ayes).First().ToList();
}
【问题讨论】: