在 CSHTML 中显示加入 table

Display joined table in CSHTML

我目前正在使用一种名为 Webmatrix 的新工具来创建基于 CSHTML 的网站。现在我在开始时遇到了一些麻烦,无法在其他页面上找到任何帮助: 我创建数据库调用

var db = Database.Open("MyDB");
var selectQueryString = "SELECT * FROM a JOIN b ON a.id = b.id";

a 和 b 都有字段 "name" 但我找不到任何方法来分开。我已经试过了

@foreach(var row in db.Query(selectQueryString)){
            <tr>
                <td>@row.id</td>
                <td>@row.a.name</td>
                <td>@row.b.name</td>
            </tr>
}

据我所知 MySQL 在 PHP。但这不起作用。谁能帮我解决这个(我猜)非常简单的问题?

指定您需要的列,而不是使用通配符星号。

除了解决您的问题,这也是 much better for performance

var selectQueryString = "SELECT a.id, a.name as AName, b.name as BName FROM a JOIN b ON a.id = b.id";

那么你可以这样做:

@foreach(var row in db.Query(selectQueryString)){
   <tr>
     <td>@row.id</td>
     <td>@row.AName</td>
     <td>@row.BName</td>
   </tr>
}

使用entity framework,为数据应用层创建单独的class,添加Dbcontext,连接字符串放在web.config,如果你想同时循环两个实体,你需要这样的东西 ->

var results = from ek in dbContext.tbl_EKTransfer
              where //...(what you want)
              select ek.ServisID
var results = from t in dbContext.tbl_Transfer
              where // ...(what you want)
              select t.ServisID;

results = results.Union(results2);

foreach (var result in results)
{

}

或加入第二个table。