C# 如何从连接的实体(表)创建列表类型?

C# 如何从连接的实体(表)创建列表类型?,c#,entity-framework,C#,Entity Framework,我不熟悉实体框架。这是我的简单问题 我有一个SQL数据库自动映射到ADO.NET实体数据模式,我写了一个函数 public List<table1> GetTable1() { return ( from t in context.table1 select t).ToList(); } 公共列表GetTable1() { 返回(从context.table1中的t选择t).ToList(); } 然后我附上数据: List<table> list1 =

我不熟悉实体框架。这是我的简单问题

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

public List<table1> GetTable1()    
{
  return ( from t in context.table1 select t).ToList();
}
公共列表GetTable1()
{
返回(从context.table1中的t选择t).ToList();
}
然后我附上数据:

List<table> list1 = GetTable1();
GridView1.DataSource = list1;
List list1=GetTable1();
GridView1.DataSource=list1;
但当我想在select语句中使用联接的table1和table2时,我不知道要使用哪种类型的列表

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


感谢您的帮助:)

在绑定数据源的方法中使用
一个匿名类型

var list1 = (from t in context.table1 select new { ColumnFromTable1 = "whatever", FromOtherTable = "other" }).ToList();
GridView1.DataSource = list1;
当然,您需要知道如何连接表,这里的关键点是:

new { ColumnFromTable1 = "whatever", FromOtherTable = "other" }

这与这个问题很相似:


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

所有表都具有相同的架构?注意:函数不能返回匿名类型,因此请创建一个新类型以返回。或者作为一种不好的做法,返回TupleAbsolutely right,“在数据源绑定的方法内部”。另一个解决方案是使用动态列表