我有一个包含名为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中显示其他属性。
答案 0 :(得分:0)
pat.Consultation_Fees
是Consultation_Fee
个对象的集合,而不是Consultation_Fee
个对象本身。这就是为什么Intellisense不提供该实体的任何属性的原因。因为您显然希望在所有费用上构建总和,所以您可以使用LINQ扩展方法Sum
:
.fees_Paid = pat.Consultation_Fees.Sum(Function(cf) cf.Fee)