Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linq to Entity-在列表模板MVC页面中,我可以访问模型中的另一个表吗_Linq_Entity Framework_Dynamic Data - Fatal编程技术网

Linq to Entity-在列表模板MVC页面中,我可以访问模型中的另一个表吗

Linq to Entity-在列表模板MVC页面中,我可以访问模型中的另一个表吗,linq,entity-framework,dynamic-data,Linq,Entity Framework,Dynamic Data,在项目外模板解决方案(动态数据Web应用程序)中,我创建了模型,一切正常。-获取表格列表,并选择编辑等 但是我的数据库有一些链接表,其中只包含forgien键,所以列表模板只显示fk值 是否需要将主表中的行列表与基于fk的另一个表的检查结合起来 更类似于SQL中的联接?但是使用LINQ2实体和元模型 下面是List.aspx.cs-这似乎将标准网格绑定到entitydatasource,但这是根据MVC中的路由绑定到当前表的 但是,正如您所看到的,我需要通过模型查询Person、Role和Li

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

但是我的数据库有一些链接表,其中只包含forgien键,所以列表模板只显示fk值

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

更类似于SQL中的联接?但是使用LINQ2实体和元模型

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

但是,正如您所看到的,我需要通过模型查询Person、Role和Link表,以获得其他字段,以便这将是有用的。

如果可能的话,PS想试着将其保存在LINQ2实体中-试着摸索


我想做的最自然的事情就是开始派生新的sql查询,然后去检索这些值。但这不是这个习惯用法。

您可以通过dataContext引用元模型

MetaModel refMetaModel = MetaModel.GetModel(typeof(yourdataContextName));
MetaTable refMetaModel;
refMetaModel =  refMetaModel.GetTable("yourTableName");
PS查看了您的代码,这在您的sceanrio中起作用。您可以从模型中获取表,然后检查为模型中的每个表返回的数据


从Linq到实体模型,也可以使用此功能-

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

元模型允许访问数据模型,该数据模型为您提供底层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)
//使用datacontext获取基础数据
使用(brrdbenties brr=new brr_dbEntities())
{
ObjectQuery people=brr.person;
IQueryable names=从p in people中选择p.person\u name;
foreach(名称中的变量名称)