读书人

在edmx里怎么查询匹配外键关联表内的值

发布时间: 2012-08-14 10:39:57 作者: rapoo

在edmx里如何查询匹配外键关联表内的值
有两个用户表,tblA{ aId, Name },tblB{ bId, aId, realName }。其中,A.aId 是主键,B.aId是外键。

将 tblA 和 tblB 放到 edmx 里,两个表都生成了 导航属性 ,tblA 到 tblB 是默认的一对多关系。

我写了这么一个方法来进行查询:

C# code
public List<tblA> Select(int tblAId, string theName, string theRealName){  IQueryable<tblA> q = db.tblA;  if(tblAId > 0)    q = q.Where(p => p.Id == tblAId);  if(!string.IsNullOrEmpty(theName))    q = q.Where(p => p.Name == theName);  if(!string.IsNullOrEmpty(theRealName))    //这里不知道该怎么写了  return q.ToList();}


方法的参数里输入了一个 theRealName 字符串,请问,如何进行查询,才能找到 tblB.realName 的匹配项?返回类型是 List<tblA> 会构成障碍吗?


[解决办法]
C# code
public List<tblA> Select(int tblAId, string theName, string theRealName){  IQueryable<tblA> q = db.tblA;  if(tblAId > 0)    q = q.Where(p => p.Id == tblAId);  if(!string.IsNullOrEmpty(theName))    q = q.Where(p => p.Name == theName);  if(!string.IsNullOrEmpty(theRealName))   q=from x in q     join y in db.tableB     on x.Id equals y.aId     where y.realName==theRealName     select x;  return q.ToList();} 

读书人网 >.NET

热点推荐