0

在项目模板解决方案(动态数据 Web 应用程序)中,我创建了模型,一切都很好。- 获取表格列表,以及选择编辑等。

但是我的数据库有只包含伪造键的链接表 - 所以列表模板只显示 fk 值

表格示意图

是否可以将主表中的行列表与基于 fk 的另一个表的检查结合起来?

更类似于 SQL 中的联接?但是使用 Linq2Entity 和 MetaModel?

下面是 List.aspx.cs - 这似乎将标准网格绑定到实体数据源,但这是根据 MVC 中的路由绑定到当前表。

但正如您所看到的,我需要通过模型查询 Person、Role 和 Link 表以获取其他字段,这样才会有用。 工作室

PS 如果可能的话,想尝试将其保留在 LINQ2Entity 中 - 尝试摸索

我想做的很自然的事情是开始衍生新的 sql 查询来检索这些值。但这不是这个成语。

4

2 回答 2

1

您可以通过 dataContext 引用元模型

MetaModel refMetaModel = MetaModel.GetModel(typeof(yourdataContextName));
MetaTable refMetaModel;
refMetaModel =  refMetaModel.GetTable("yourTableName");

PS查看了您的代码,这在您的场景中有效。您可以从模型中获取表,然后检查模型中每个表返回的数据

关于 MetaModel 的 MSDN 文章

于 2008-11-20T10:48:26.923 回答
0

从 Linq to Entities 模型中使用它也很有用 -

使用 dataContext - 您可以获得最有用的实际数据。

metaModel 允许访问 dataModel,它为您提供底层 ddl 类型信息

//use the datacontext to get the underlying data
      using (brrdbEntities brr = new brr_dbEntities())
      {
          ObjectQuery<person> people = brr.person;
          IQueryable<string> names = from p in people select p.person_name;
          foreach (var name    in names)
于 2008-11-20T13:13:08.720 回答