您好我有一个绑定为
的BindingSourcesql = "select a.*, b.col3 from table1 a inner join table2 b on a.col2 = b.col1";
context.Table1.SqlQuery(sql).ToList();
BindingSource1.DataSource = context.Table1.Local.ToBindingList();
但是当我访问BindingSource1时,它只有table1中的列。我想知道是否有一种简单的方法可以从table2中添加col3,所以我不需要在该表单上重写很多逻辑。我试图逃避使用linq到ef,但我没有获得与使用sql覆盖相同的结果集(现实生活中的查询非常复杂),并且不想每次我需要时都引入查询覆盖像这样的东西。
答案 0 :(得分:0)
由于我不知道你的BindingSource1是如何使用的,所以我只能评论EF部分。您只看到Table1中的部分的原因是您从该表中选择:.ace-mono-industrial .ace_string {
background-color: transparent !important;
}
。这只会尝试将您的查询与Table1类匹配,而col3不是它的一部分。
如果真实生活查询很复杂,最好创建一个数据库视图并将其挂钩到EF并从中进行选择。或者您可以执行非实体选择并将其映射到类:context.Table1.SqlQuery()