Linq 实体框架查询选择硬编码用户创建列

Linq 实体框架查询选择硬编码用户创建列,linq,entity-framework,linq-to-entities,Linq,Entity Framework,Linq To Entities,我正在使用一个联合从多个表中创建一个select,因为我需要返回数据库中特定客户机的活动列表。我需要返回每个union并添加一列,这样我就可以区分结果之间的差异。如果我要用SQL进行查询,它将如下所示: 选择cn.NoteID、cn.Note、cn.InsertedDate、“添加注释”注释 来自客户端c 内部连接ClientNotes cn ON cn.ClientID=c.ID 其中c.ClientID=@ClientID 联合 选择rc.ID、rc.CommNote、rc.Inserted

我正在使用一个联合从多个表中创建一个select,因为我需要返回数据库中特定客户机的活动列表。我需要返回每个union并添加一列,这样我就可以区分结果之间的差异。如果我要用SQL进行查询,它将如下所示:

选择cn.NoteID、cn.Note、cn.InsertedDate、“添加注释”注释

来自客户端c

内部连接ClientNotes cn ON cn.ClientID=c.ID

其中c.ClientID=@ClientID

联合

选择rc.ID、rc.CommNote、rc.InsertedDate、“添加通信”注释

来自ReceivedCommunication rc

在j.ID=rc.JobID上左连接作业j

其中j.ClientID=@ClientID或rc.ClientID=@ClientID

我的问题是如何在实体框架中使用IQuerable返回硬编码注释列? 到目前为止,我有这样的想法:

将客户端设置为IQueryable(myresultclass的)= (c)作为客户

将cn作为ClientNotes加入c.ID上的ClientCompanyNotes等于cn.ClientID

其中c.ClientID=ClientID

选择cn.NoteID、cn.Note、cn.InsertedDate)(

从rc作为ReceivedCommunications中的ReceivedCommunications

将j作为作业加入j.ID等于rc.JobID的作业中

其中j.ClientID=ClientID或rc.ClientID=ClientID

选择rc.ID、rc.CommNote、rc.InsertedDate)


谢谢你的帮助

好的,解决了,应该是显而易见的。对于存在相同问题的任何人,我必须将我的选择从Select cn.NoteID、cn.Note、cn.insertedate更新为:

Select New myresultclass With {
    .ActivityID = cn.NoteID,
    .ActivityType = "Note Added"
    .InsertedDate = cn.InsertedDate
}
对于我拥有的每一个工会

谢谢