2016-06-02 14 views
1

Ich habe einige alte SQL-Code, der eine linke Join bei der Abfrage von Datenbank verwendet. Ich habe keine Ahnung, wie man das mit EF macht, aber ich kann mir vorstellen, dass es viel einfacher ist. (VB.NET neueste Version)Linkes Beitreten in Entity Framework 6

ist hier SQL-Code:

'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) 

Ich habe ein paar Dinge ausprobiert, aber ich habe keine Ahnung, was ich tue, wenn es um diese Art von Abfrage kommt.

Hier Code für mein Objekt aus Datenbank:

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

Angenommen, Ihre Stackup Klasse Navigationseigenschaften für StackUpItems und DimensionValues ​​hat Sie in denen verwenden können Ihre Anfrage: Von einem In Db.Stackup, wo a.IdStackup = IdNow && a.StackUpItems.IsDeleted && a.DimensionValues.IsDeleted ... –

+0

Das hat fast perfekt funktioniert! Musste nur ein bisschen ändern. Vielen Dank! – MattCucco

Antwort

0

Hier ist, was ich zu arbeiten habe:

''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