我正在使用union从多个表创建一个select,因为我需要返回数据库中特定客户端发生的活动列表。我需要使用添加的列返回每个联合,以便我可以区分结果。如果我在SQL中进行查询,它看起来像这样:
SELECT cn.NoteID,cn.Note,cn.InsertedDate,'Note Added'Notes
FROM Client c
INNER JOIN ClientNotes cn ON cn.ClientID = c.ID
WHERE c.ClientID = @ClientID
UNION
SELECT rc.ID,rc.CommNote,rc.InsertedDate,'Communication Added'备注
FROM ReceivedCommunication rc
LEFT JOIN Job j ON j.ID = rc.JobID
WHERE j.ClientID = @ClientID或rc.ClientID = @ClientID
我的问题如何在使用IQuerable的实体框架中返回硬编码的Notes列? 到目前为止我有这样的事情:
Dim client as IQueryable(Of myresultclass)= (来自c As Client
在ClientCompanyNotes中加入cn As ClientNotes在c.ID上等于cn.ClientID
其中c.ClientID = ClientID
选择cn.NoteID,cn.Note,cn.InsertedDate).Union(
来自已接收通信中的已接收通信
在j.ID Equals rc.JobID
上加入j作为作业其中j.ClientID = ClientID或rc.ClientID = ClientID
选择rc.ID,rc.CommNote,rc.InsertedDate)
感谢您的帮助
答案 0 :(得分:0)
好的解决了,本来应该是显而易见的。对于任何有同样问题的人,我必须将我的Select从Select cn.NoteID,cn.Note,cn.InsertedDate更新为:
Select New myresultclass With {
.ActivityID = cn.NoteID,
.ActivityType = "Note Added"
.InsertedDate = cn.InsertedDate
}
我所拥有的每一个工会
由于