在 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。
我目前正在使用一种名为 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。