У меня есть модель:
public class ConstRouteFamily
{
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
[Key]
public long Id { get; set; }
public long RouteId { get; set; }
public long FamilyId { get; set; }
public virtual ICollection<Family> Families { get; set; }
}
и таблица:
CREATE TABLE [dbo].[ConstRouteFamilies]
(
[Id] [BIGINT] IDENTITY(1,1) NOT NULL,
[RouteId] [BIGINT] NOT NULL,
[FamilyId] [BIGINT] NULL,
CONSTRAINT [PK_ConstRouteFamilies]
PRIMARY KEY CLUSTERED ([Id] ASC)
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[ConstRouteFamilies] WITH CHECK
ADD CONSTRAINT [FK_ConstRouteFamilies_ConstRoutes]
FOREIGN KEY([RouteId]) REFERENCES [dbo].[ConstRoutes] ([Id])
GO
ALTER TABLE [dbo].[ConstRouteFamilies] CHECK CONSTRAINT [FK_ConstRouteFamilies_ConstRoutes]
GO
ALTER TABLE [dbo].[ConstRouteFamilies] WITH CHECK
ADD CONSTRAINT [FK_ConstRouteFamilies_Families]
FOREIGN KEY([FamilyId]) REFERENCES [dbo].[Families] ([Id])
GO
ALTER TABLE [dbo].[ConstRouteFamilies] CHECK CONSTRAINT [FK_ConstRouteFamilies_Families]
GO
Теперь, когда я пытаюсь выполнить запрос:
var families = db.ConstRouteFamilies
.Where(crf => crf.RouteId.Equals(route.Id))
.ToList();
Я получаю исключение
Неверное имя столбца 'ConstRoute_Id'
Я посмотрел на сгенерированный SQL:
SELECT
1 AS [C1],
[Extent1].[Id] AS [Id],
[Extent1].[RouteId] AS [RouteId],
[Extent1].[FamilyId] AS [FamilyId],
[Extent1].[ConstRoute_Id] AS [ConstRoute_Id]
FROM
[dbo].[ConstRouteFamilies] AS [Extent1]
Откуда взялся этот столбец * 1019? И как мне удалить / исправить эту ошибку?