如何从联接的实体(表)创建列表类型
本文关键字:创建 列表 类型 实体 | 更新日期: 2023-09-27 18:32:56
我是实体框架的新手。这是我的简单问题。
我有一个自动映射到 ADO .NET 实体数据模式的 SQL 数据库,我编写了一个函数
public List<table1> GetTable1()
{
return ( from t in context.table1 select t).ToList();
}
然后我附加数据:
List<table> list1 = GetTable1();
GridView1.DataSource = list1;
但是当我想在选择语句中使用连接的表1和表2时,我不知道要使用哪种类型的列表。
函数应返回哪种类型,以便我可以将其附加到我的 GridView?我现在唯一的解决方案是在数据库上创建视图,然后连接这两个表,然后更新实体模型,但这可能不是很优雅。
感谢您的帮助:)
这与这个问题非常相似: 如何使用 c# linq 在 2 个不同的表中获取 2 个不同的值
您需要创建一个新类,该类可以封装您想要返回的结果。这样,您就可以从数据访问层返回类型。
在绑定数据源的方法中使用Anonimous Type
:
var list1 = (from t in context.table1 select new { ColumnFromTable1 = "whatever", FromOtherTable = "other" }).ToList();
GridView1.DataSource = list1;
当然,你需要知道如何连接表,这里的关键点是:
new { ColumnFromTable1 = "whatever", FromOtherTable = "other" }