0

我有两个数据表 dt1 和 dt2(在运行时生成),我必须在这个表上应用内连接查询。(两个表中的 EmpId 相同)

但是列数及其名称是动态的,取决于数据库。

两个表都包含与表 1 相同的列名称,该表包含员工“p”的休假。他没有休任何病假,因此值为空。

EmpId Empname SickLeave Casual Leave  
1       P                   1

和表二有像

 EmpId Empname  SickLeave Casual Leave  
    1       P       5           5

此表包含公司给员工的总休假(最大休假)

我必须加入这个查询并显示这样的结果

 EmpId Empname  SickLeave Casual Leave  
  1       P       0/5          1/5

所以我想知道如何加入这两个数据表并使用 Ef 和 LINQ 显示这样的结果。(没有两个假期,即病假,事假,但可能是三个或两个或四个取决于数据库,它的名称也可以根据数据库进行更改)

如果有人有想法请指导我

4

1 回答 1

0

如果您真的需要动态 Linq 到实体,那么

选项 A) 字符串到 lambda

LINQ System.Linq.Dynamic 中的动态表达式和查询可以在以下链接中找到 http://msdn.microsoft.com/en-US/vstudio/bb894665.aspx http://weblogs.asp.net/scottgu/archive/ 2008/01/07/dynamic-linq-part-1-using-the-linq-dynamic-query-library.aspx http://www.scottgu.com/blogposts/dynquery/dynamiclinqcsharp.zip 如何将字符串转换为其等效的 LINQ 表达式树?

选项 B) 构建表达式树

更彻底的方法是构建表达式树。使用此处的代码构建表达式树:http: //msdn.microsoft.com/en-us/library/system.linq.expressions.aspx 动态 LINQ 和动态 Lambda 表达式?

于 2013-08-06T12:57:10.810 回答