Code Monkey home page Code Monkey logo

Comments (6)

gambarra avatar gambarra commented on August 30, 2024 1

Fixed and new package released. Please check.

from expressionextensionsql.

gambarra avatar gambarra commented on August 30, 2024

Thanks for the contribution. I'm studying the modifications. Once you get a final solution a new version will be generated.

from expressionextensionsql.

scott-mac avatar scott-mac commented on August 30, 2024

I should have mentioned, I get this error with the ExpressionExtensionSQL.Dapper package so it seems to be something with how it is translating the boolean to a bit 1 or 0 for the SQL expression

from expressionextensionsql.

scott-mac avatar scott-mac commented on August 30, 2024

Thiago,

I was able to fix this by making the following change to the Concat method:

public static WherePart Concat(WherePart left, string @operator, WherePart right) {
            if (right.Sql.Equals("NULL", StringComparison.InvariantCultureIgnoreCase)) {
                @operator = @operator == "=" ? "IS" : "IS NOT";
            }
            if(left.Sql == "1") {
                left.Sql = "(1=1)";
            }
            if (left.Sql == "0") {
                left.Sql = "(0=0)";
            }
            var w = new WherePart() {
                Parameters = left.Parameters.Union(right.Parameters).ToDictionary(kvp => kvp.Key, kvp => kvp.Value),
                Sql = $"({left.Sql} {@operator} {right.Sql})"
            };
            return w;
        }

I don't think that's a very good solution but your code is very efficient, nested and recursive so I was not able to figure out the best spot to implement a fix.

But the issue arises where the left part of the expression starts with "True AndAlso ..." so just a boolean (i.e. 'True') with no property tied to it (i.e. TableName.PropertyName = True) is what gets interpreted so it just extracts a 1 or a 0

from expressionextensionsql.

gambarra avatar gambarra commented on August 30, 2024

Good Morning. I will do the correction today and upload a new version in nuget

from expressionextensionsql.

scott-mac avatar scott-mac commented on August 30, 2024

That seems to work for me, I'll continue testing it this week, thank you

from expressionextensionsql.

Related Issues (3)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.