有人可以帮忙吗?
我在我的预订(prim键)和保险(用于键)表之间创建了一个关系,并导入到linq2sql并检查了我自动创建的c#文件,确定我有预订.MyFieldNames等等PLUS reservation.Insurance是我的关系但保留。保险我看不到保险的字段名 - 我错过了什么?
我是否必须拨打GetInsurances或其他什么?我没有看到任何东西..事实上,保险属于Linq.entityset ???
此外,我希望创建我的预订表(这很好,很容易)然后自动“注入”一个保险(即1对多)来自Ilist或其他..
这是不可能的,
任何帮助真的很感激
P.S。我确实通过T4工具箱创建了我自动创建的c#dto文件,但这不应该有任何区别。我只为每个实体都有一个单独的文件..
答案 0 :(得分:4)
不是100%肯定你的意思是“我什么也看不见”。
假设你有一个Reservations
表和一个引用“预订”的Insurance
表 - 这是什么关系? 1:1? 1:很多?哪个方向?你可以发布你的DBML设计师表面的截图吗? (将其上传到www.tinypic.com并在您的问题中将链接作为图像包含在内)?
“预订”类将包含“保险”(EntityRef<Insurance>
)的一个实例或“保险”对象(EntitySet<Insurance>
)的列表(实体集) - 具体取决于关系的性质 - 你应该能够在代码中导航那些,例如
string foo = myReservation.Insurance.CustomerName; // or whatever
你不会在设计师的表面上看到那些 - 这只是你设计界面上另一个类的链接,对吗?
相反,相反 - 如果保险只与一个保留相关联,您应该能够(在代码中)做:
string bar = myInsuranceObject.Reservation.MyFieldName1; // or whatever
所以我不太清楚你真正指的是哪种情况 - 你能详细说明你的问题并使其更清楚吗?
根据NerdDinner sample,我会详细说明。查看DBML设计界面:
在这里,您没有看到任何用于在对象之间来回移动的属性。但是你确实看到“RSVP”类有一个“DinnerID”外键,它将它链接到“Dinner”类。所以这是一个1:n的关系:一个晚餐有RSVP,每个RSVP只有一个晚餐。
在您的代码中,您现在可以看到这些创建的属性 - 首先查看RSVP类:
您可以看到RSVP
类有一个EntityRef<Dinner>
- 一个参考(链接)到一个Dinner
- 这个RSVP的晚餐。
另一方面,Dinner
班级列出了所有计划参加晚宴的极客的RSVP!
因此,在Dinner
课程中,您有一个EntitySet<RSVP>
- 一个完整的与会者列表,您可以在使用Dinner
课程时进行导航。
这会让事情变得更清楚吗?
马克