我正在尝试获取客户记录列表以及每个实体的最新 ClientNote 记录。如果客户端没有关联的注释,我希望该客户端的 ClientNote 为空(类似于 TSQL 中的 LEFT JOIN)。
我有 2 个相关的表格,如下所示:
CREATE TABLE [dbo].[Client](
[ID] [int] IDENTITY(1,1) NOT NULL,
[ClientNumber] [varchar](10) NOT NULL,
[Name] [varchar](100) NOT NULL,
[AssociateName] [varchar](30) NOT NULL,
[AssignedToID] [int] NULL,
[District] [varchar](6) NOT NULL,
[RegionID] [int] NOT NULL,
[CreateDate] [datetime] NOT NULL,
)
CREATE TABLE [dbo].[ClientNote](
[ID] [int] IDENTITY(1,1) NOT NULL,
[ClientID] [int] NOT NULL,
[Note] [varchar](4000) NOT NULL,
[NoteDate] [datetime] NULL,
[TicklerDate] [datetime] NULL,
[EnteredByAgentID] [int] NOT NULL,
[CreateDate] [datetime] NOT NULL,
)
当 Client.Name 像 '%ike%' 并且(不存在 ClientNote 或 ClientNote CreateDate 超过 60 天)时,我需要一个 EF 左外连接来返回 Client 和最新的 ClientNote。所以,我想为每个匹配返回两个对象:一个客户端和一个可选(空)客户端注我已经尝试了很多东西,但我没有得到我想要的结果。