0

我是实体框架的新手。这是我的简单问题。

我有一个自动映射到 ADO .NET 实体数据模式的 SQL 数据库,我写了一个函数

public List<table1> GetTable1()    
{
  return ( from t in context.table1 select t).ToList();
}

然后我附上数据:

List<table> list1 = GetTable1();
GridView1.DataSource = list1;

但是当我想在 select 语句中使用连接的 table1 和 table2 时,我不知道要使用哪种类型的 List。

该函数应该返回什么类型以便我可以将它附加到我的 GridView?我现在唯一的解决方案是在加入这两个表的数据库上创建视图,然后更新实体模型,但这可能不是很优雅的方式。

感谢帮助 :)

4

2 回答 2

0

Anonimous Type在绑定数据源的方法中使用:

var list1 = (from t in context.table1 select new { ColumnFromTable1 = "whatever", FromOtherTable = "other" }).ToList();
GridView1.DataSource = list1;

当然,你需要知道如何连接表,这里的重点是:

new { ColumnFromTable1 = "whatever", FromOtherTable = "other" }
于 2013-09-26T10:13:35.630 回答
0

这与这个问题非常相似:How to get 2 different values in 2 different tables using c# linq

您需要创建一个可以封装您想要返回的结果的新类。这样,您可以从数据访问层返回类型。

于 2013-09-26T10:16:36.410 回答