一直在尝试.NET 3.5附带的新动态数据站点创建工具。该工具使用LINQ数据源使用.dmbl上下文文件从数据库获取数据以供参考。我在定制数据网格方面有所不同,但我需要显示来自多个表的数据。有谁知道如何使用LINQ Datasource对象?
答案 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。 但你确实需要注意可能给你带来麻烦的匿名类型,但任何东西都是可行的......