在实体框架中显示关联的属性

时间:2014-05-04 09:04:53

标签: vb.net entity-framework

我有一个包含名为Visit,Consultation_fee,Lab_Test和Patient的表的数据库。表格的定义是:

Visit表:

  • VisitID - 整数,主键
  • PatID - 整数
  • DateVisit - 日期

Consultation_Fee表:

  • ConsultID - 整数,主键
  • VisitID - 整数(VisitID表的Visit列的引用)
  • PatID - 整数(PatID表中的引用Patient
  • Fees - 钱

Patient表:

  • PatID - 整数,主键
  • 其他栏目......

Lab_Test表:

  • 主键整数
  • VisitID引用Visit
  • PatID引用Patient

我的问题是我想运行一个查询,该查询获取患者支付的金额,其中visitID和PatID对应于特定值。我正在使用Entity Framework和Visual Studio 2012。

这就是我想要做的(示例查询):

 Dim PatMoney=from pat in context.Visits where VisitID=a value and patID=another value
 select new with{.fees_Paid=pat.Consultation_Fees.Fee,
                 .Name=pat.Patient.Firstname}

然而,当我pat.Consultation_Fees时,Visual Studio不会在Intellisense中显示其他属性。

1 个答案:

答案 0 :(得分:0)

pat.Consultation_FeesConsultation_Fee个对象的集合,而不是Consultation_Fee个对象本身。这就是为什么Intellisense不提供该实体的任何属性的原因。因为您显然希望在所有费用上构建总和,所以您可以使用LINQ扩展方法Sum

.fees_Paid = pat.Consultation_Fees.Sum(Function(cf) cf.Fee)