LINQ to SQL映射关联以创建实体列表

时间:2011-02-24 19:24:58

标签: c# linq linq-to-sql associations

我正在阅读Apress Pro ASP.NET MVC Framework并且有一些LINQ to SQL示例,但是它们没有显示此示例的数据库,并且它并不完全清楚它是如何工作的所以我希望我能从中得到一些澄清社区。

据我所知,在数据库中Item不能有Bid的列表,所以如果我们想要列表,我们会查询Bids表中的所有{ {1}}匹配Bid。在本书的示例中,看起来在ItemIDItem之间建立了关联,但我怀疑Bid表没有将其链接到的外键。 Items所以我有几个问题:

  1. 基于什么关联?
  2. LINQ是否根据相关模型自动确定要在哪个表中建立关联(在这种情况下Bid映射到Bid表)?
  3. Bids模型的Bids属性会自动填充所有匹配的Item吗?如果不是,那怎么能实现呢?
  4. 以下是示例

    Bid

1 个答案:

答案 0 :(得分:1)

你对#2的怀疑是不正确的;事实上,LINQ-to-SQL(像大多数ORM一样)确实知道哪个表具有实际关联。父子关系可以在关联的两侧具有导航属性。

这些都是自动处理的。至于填充属性,当您访问该属性时,无论是显式加载还是(如果启用了延迟加载)都会发生这种情况。