我是实体框架的新手。这是我的简单问题。
我有一个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? 我现在唯一的解决方案是创建数据库连接这两个表的视图,然后更新实体模型,但这可能不是很优雅。
感谢您的帮助:)
答案 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
您需要创建一个可以封装所需结果的新类。这样,您就可以从数据访问层返回类型。