incorrect sql statment generated with DeleteEntitiesDirectly

Posts   
 
    
exp2000
User
Posts: 68
Joined: 13-Apr-2006
# Posted on: 30-Sep-2006 00:04:55   

Following generates delete statement with two FROM. Am I doing something wrong here?

      Dim setting As New QueryUserSettingEntity
                Dim settingFilter As New RelationPredicateBucket
                settingFilter.Relations.Add(setting.Relations.QueryEntityUsingQueryId)
                settingFilter.PredicateExpression.Add(PredicateFactory.CompareValue(QueryUserSettingFieldIndex.QueryId, ComparisonOperator.Equal, queryId))
                settingFilter.PredicateExpression.AddWithAnd(PredicateFactory.CompareExpression(QueryFieldIndex.CreatedByUserId, ComparisonOperator.NotEqual, New Expression(QueryUserSettingFields.UserId)))

                adapter.StartTransaction(IsolationLevel.ReadCommitted, "RemoveQueryShareFromAllUsers")
          'some more deletes ....
                adapter.DeleteEntitiesDirectly(setting.LLBLGenProEntityName, settingFilter)
                adapter.Commit()

Query: DELETE FROM [dbo].[QueryUserSetting] FROM ( [dbo].[Query]  INNER JOIN [dbo].[QueryUserSetting]  ON  [dbo].[Query].[QueryId]=[dbo].[QueryUserSetting].[QueryId]) WHERE ( ( [dbo].[QueryUserSetting].[QueryId] = @QueryId1 AND [dbo].[Query].[CreatedByUserId] <> [dbo].[QueryUserSetting].[UserId]))
Otis avatar
Otis
LLBLGen Pro Team
Posts: 39833
Joined: 17-Aug-2003
# Posted on: 30-Sep-2006 10:22:24   

Please read the guidelines: http://www.llblgen.com/tinyforum/Messages.aspx?ThreadID=7722

Unless you specify the info described there, I can't help you.

And yes, it generates two from clauses, because you filter on a related entity. It then uses the DELETE FROM FROM syntaxis of T-SQL (it's T-SQL specific) simple_smile

Frans Bouma | Lead developer LLBLGen Pro