Это мой первый проект с entityFramework и LinQ, и я не могу разработать эту простую функцию.
Я хочу сделать простой inner join
из двух таблиц:
public partial class DEGENZE_OSPITE
{
[Key]
public int ID_DEGENZA { get; set; }
public int ID_OSPITE { get; set; }
public int ID_TIPO_DEGENZA { get; set; }
public int ID_TIPO_CAMERA { get; set; }
public virtual ANAG_TIPO_DEGENZA ANAG_TIPO_DEGENZA { get; set; }
public virtual ANAG_OSPITI ANAG_OSPITI { get; set; }
public virtual ANAG_TIPO_CAMERA ANAG_TIPO_CAMERA { get; set; }
}
public partial class ANAG_TIPO_DEGENZA
{
[Key]
public int ID_TIPO_DEGENZA { get; set; }
[Required]
[StringLength(500)]
public string DESCRIZIONE { get; set; }
[Required]
[StringLength(10)]
public string INIZ_CAMPO_COSTI { get; set; }
public virtual DEGENZE_OSPITE DEGENZE_OSPITE { get; set; }
}
но мой dbcontext.sql сгенерировал:
SELECT
[Project1].[ID_DEGENZA] AS [ID_DEGENZA],
..
FROM ( SELECT
[Extent1].[ID_DEGENZA] AS [ID_DEGENZA],
..
FROM [AnagOspiti].[DEGENZE_OSPITE] AS [Extent1]
LEFT OUTER JOIN [dbo].[ANAG_TIPO_CAMERA] AS [Extent2] ON [Extent1].[ID_DEGENZA] = [Extent2].[ID_TIPO_CAMERA]
LEFT OUTER JOIN [AnagOspiti].[ANAG_TIPO_DEGENZA] AS [Extent3] ON [Extent1].[ID_DEGENZA] = [Extent3].[ID_TIPO_DEGENZA]
WHERE [Extent1].[ID_OSPITE] = @p__linq__0
) AS [Project1]
ORDER BY [Project1].[DATA_DAL] ASC
Ошибка в left outer join
и здесь
LEFT OUTER JOIN [AnagOspiti].[ANAG_TIPO_DEGENZA] AS [Extent3] ON [Extent1].[***ID_DEGENZA***] = [Extent3].[***ID_TIPO_DEGENZA***]
Мне нужно будет
INNER JOIN [AnagOspiti].[ANAG_TIPO_DEGENZA] AS [Extent3] ON [Extent1].[ID_TIPO_DEGENZA] = [Extent3].[ID_TIPO_DEGENZA]
Где ошибка?Я должен использовать отношение 1 к N?Извините, я новый пользователь entityframework e LinQ.