如何从连接的实体(表)创建一种列表?

时间:2013-09-26 09:47:03

标签: c# entity-framework

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

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

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

然后我附上数据:

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

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

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

感谢您的帮助:)

2 个答案:

答案 0 :(得分: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" }

答案 1 :(得分:0)

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

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