Left Join In Entity Framework 6

У меня есть старый код SQL, который использует левое соединение при запросах из базы данных. Я понятия не имею, как это сделать с помощью EF, но я могу представить, что это намного проще. (Новейшая версия VB.NET)

Вот код SQL:

'Now Change each of the dimension values on the EDD stack to EDD dimension Values
' - if Not deleted And on the stack

SqlString = "SELECT * FROM StackUp " +
            "LEFT JOIN StackUpItems On IdStackUp=StackUpID " +
            "LEFT JOIN DimensionValues ON DimensionValuesId=IdDimensionvalues " +
            "WHERE IdStackUp=" + StackUpId.ToString + " AND " +
            "isnull(IsDimensionValuesDeleted,0)=0 AND isnull(StackUpItems.IsDeleted,0)=0  ;"
SqlDataAdapter = New SqlDataAdapter(SqlString, SqlConnectionString)
TableNow = New DataTable
SqlDataAdapter.Fill(TableNow)

Я пробовал несколько вещей, но я понятия не имею, что я делаю, когда дело доходит до этих типов запросов.

Вот код для моего объекта из базы данных:

Function ToggleIsEDD(ByVal StackUpId) As Boolean

  'main try
  Try
      Dim IdNow As Integer = StackUpId
      Dim StackUpNow As IEnumerable(Of Stackup) = (From a In Db.Stackup Where a.IdStackup = IdNow).ToList

1 ответ

Вот что я получил на работу:

''Now Change each of the dimension values on the EDD stack to EDD dimension Values
        '' - if Not deleted And on the stack
        '================================================================
        'This might need "or not null" statements within query as well
        '================================================================
        StackUpNow = (From a In Db.StackupItems
                      Where a.IdStackupItem =
                          IdNow And Not a.Stackup.IsDeleted And Not a.DimensionValues.IsDimensionValuesDeleted
                          ).ToList
Другие вопросы по тегам