.NET 3.5 Linq数据源和连接

时间:2008-09-15 19:41:18

标签: linq linq-to-sql .net-3.5 dynamic-data

一直在尝试.NET 3.5附带的新动态数据站点创建工具。该工具使用LINQ数据源使用.dmbl上下文文件从数据库获取数据以供参考。我在定制数据网格方面有所不同,但我需要显示来自多个表的数据。有谁知道如何使用LINQ Datasource对象?

4 个答案:

答案 0 :(得分:2)

(EDIT误解了这个问题,修改了我对以下内容的回答)

您的LinqDataSource可以指向一个视图,它允许您克服无法在实际元素中表达Join的问题。来自"How to: Create LINQ to SQL Classes Mapped to Tables and Views (O/R Designer)"

  

O / R Designer是一个简单的对象关系映射器,因为它只支持1:1的映射关系。换句话说,实体类与数据库表或视图只能具有1:1的映射关系。不支持复杂映射,例如将实体类映射到多个表。但是,您可以将实体类映射到连接多个相关表的视图。

答案 1 :(得分:2)

如果表是通过外键连接的,您可以轻松引用这两个表,因为它们将由linq自动连接(如果您查看dbml并且有一个连接表的箭头,您可以轻松查看) - 如果不是,看看你是否可以加一个。

要做到这一点,你可以使用这样的东西:

<%# Bind("unit1.unit_name") %>

在表格中,'unit'有一个引用另一个表的外键,你拉出'unit_name'的单位属性

我希望这是有道理的。

答案 2 :(得分:0)

您不能在数据网格上放置多个对象/数据源。您必须构建一个ConceptObject,它结合了部件实体的公开属性。尝试使用DB - &gt; L2S实体 - &gt; ConceptObject。如果DB模型匹配ConceptObject field-for-field,则必须非常谨慎。

答案 3 :(得分:0)

当您想要执行更复杂的Linq并将Grid绑定到ObjectDataSource时,最好使用ObjectDataSource。 但你确实需要注意可能给你带来麻烦的匿名类型,但任何东西都是可行的......