不是 100% 确定“我什么都没看到”是什么意思。
假设你有一张Reservations
桌子和一张Insurance
引用“预订”的桌子——这是一种什么样的关系?1:1 ? 1:很多?哪条路??您可以发布您的 DBML 设计器表面的屏幕截图吗?(将其上传到 www.tinypic.com 并将链接作为图片包含在您的问题中)?
“Reservations”类将包含一个“Insurance”实例(EntityRef<Insurance>
)或“Insurance”对象列表(EntitySet)(EntitySet<Insurance>
取决于关系的性质),您应该能够在代码中导航这些对象,例如
string foo = myReservation.Insurance.CustomerName; // or whatever
您不会在设计器表面上看到那些 - 这只是指向您设计表面上的另一个类的链接,对吗?
反过来也是如此 - 如果保险与一个预订相关联,您应该能够(在代码中)执行以下操作:
string bar = myInsuranceObject.Reservation.MyFieldName1; // or whatever
因此,我不太清楚您真正指的是哪种情况-您能否详细说明您的问题并使其更清楚?
基于NerdDinner 示例,我将尝试详细说明。查看 DBML 设计界面:
在这里,您看不到任何用于在对象之间来回移动的属性。但是您确实看到“RSVP”类有一个“DinnerID”外键,它将它链接到“Dinner”类。所以这是一个 1:n 的关系:一个晚餐有 n 个 RSVP,每个 RSVP 都针对一个晚餐。
在您的代码中,您现在可以看到这些创建的属性 - 首先检查 RSVP 类:
您可以看到该RSVP
课程有一个EntityRef<Dinner>
- 一个确切的参考(链接)Dinner
- 此 RSVP 用于的晚餐。
另一方面,Dinner
全班有所有计划参加晚宴的极客的完整 RSVP 列表!
因此,在Dinner
课堂上,您有EntitySet<RSVP>
一个完整的与会者列表,然后您可以在Dinner
课堂上进行导航。
这会让事情变得更清楚吗?
马克