我在 GridView 中单击一个按钮来填充所有事务数据。但是,数据库中的 Transaction 表不包含 Dimension 表(例如 Account 表)数据,例如 Transaction 表包含 AccountID 但它没有我必须从 Account 表中带来的 AccountName 属性。在 DataAccess 层中,方法 (GetAllTransactions()) 确实包含 AccountID 上的 Transaction 和 Account 表之间的连接,但是当我尝试选择 account.AccountName 时它不起作用。
我只需要从 Transaction 表中显示 AccountID 匹配的几个表,并从 Transaction 表中显示 AccountName 列而不是 AccountID。
DataAccess 方法如下所示:
public static IEnumerable<Transaction>GetAllTransactions()
{
List<Transaction> allTransactions = new List<Transaction>();
using (var context = new CostReportEntities())
{
allTransactions = (from t in context.Transactions
join account in context.Accounts on t.AccountID equals account.AccountID
select t).ToList();
}
return allTransactions;
}
.aspx 页面后面的代码如下:
protected void _UIButtonSubmit_Click(object sender, EventArgs e)
{
IEnumerable<Transaction> transactions = ts.GetAllTransactions();
_UITransactionGridView.DataSource = transactions;
_UITransactionGridView.DataBind();
_UITransactionGridView.PageIndex = 0;
}
也尝试了以下几件事,但我没有得到 LINQ 的想法。以下给出错误。
...select new {t.*, account.AccountName}).ToList();
我需要一个方向,以使任务能够在一个 GridView 中填充来自多个表的数据。谢谢。