一直在尝试 .NET 3.5 附带的新动态数据站点创建工具。该工具使用 LINQ 数据源从数据库获取数据,并使用 .dmbl 上下文文件作为参考。我对自定义数据网格很感兴趣,但我需要显示多个表中的数据。有谁知道如何使用 LINQ 数据源对象来做到这一点?

有帮助吗?

解决方案

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

为此,您可以使用如下内容:

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

在表中,“unit”有一个引用另一个表的外键,您可以提取“unit_name”的“unit”属性

我希望这是有道理的。

其他提示

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

您的 LinqDataSource 可以指向一个视图,这使您能够克服无法在实际元素中表达 Join 的问题。从 “如何:创建映射到表和视图的 LINQ to SQL 类(O/R 设计器)”:

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

您不能在数据网格上放置多个对象/数据源。您将必须构建一个组合了部件实体的公开属性的单个 ConceptObject。尝试使用 DB -> L2S Entities -> ConceptObject。如果数据库模型与 ConceptObject 逐个字段匹配,那么您一定很做作。

当您不想执行更复杂的 Linq 并将 Grid 绑定到 ObjectDataSource 时,最好使用 ObjectDataSource。然而,您确实需要留意可能会给您带来一些麻烦的匿名类型,但一切皆有可能......

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top