使用linq查询从连接表中选择多个列时如何返回值?

时间:2017-06-13 13:04:10

标签: c# entity-framework linq

我有两个表Table1Table2如下: -

Table1
| ServiceNumber | Name | Appointment | Department | DateofJoining|

Table2
|ServiceNumber | Age | Sex | SpouseName| NumberOfChildren |

现在我有一个以下的LINQ查询

var result = from p in Table1
             join p in Table2 
             on p.ServiceNumber equals q.ServiceNumber
             select new {
                p.ServiceNumber,
                q.Name,
                q.SpouseName
             };

这是写在函数returnSpouseDetails()中。我的问题是这个函数的返回类型。由于返回的结果不是表(类)的类型。我应该写另一个类只是为了返回这个值还是有更好的方法?

2 个答案:

答案 0 :(得分:1)

如上所述,您可以创建一个不同的类,否则如果您不想创建单独的类,则可以返回Tuple。 https://msdn.microsoft.com/en-us/library/system.tuple(v=vs.110).aspx是关于元组的官方链接。

答案 1 :(得分:0)

不,没有更好的方法。接收该函数的返回值的代码无法知道该对象的属性是什么,除非它们在某个类中被定义。