GithubHelp home page GithubHelp logo

tuespetre / impatient Goto Github PK

View Code? Open in Web Editor NEW
119.0 119.0 13.0 1.63 MB

Ain't nobody got time for data

Home Page: https://tuespetre.github.io/Impatient

License: MIT License

C# 100.00%
compiler csharp entity-framework-core linq orm sql

impatient's People

Contributors

tuespetre avatar weitzhandler avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

impatient's Issues

SelectMany causing query with no where

If you do something like this:

Users.SelectMany(u => u.Organizations).Where(o => o.Active).ToArray()

It results in a query like this:

SELECT * FROM Users

Instead of breaking it down into proper form.

Clarify improvements on the site

This seems like an awesome project. However the example on the homepage doesn't really sell the point, because the original query isn't that bad.

Also for a library like this it would be beneficial to have benchmarks. Its really important to know if there are performance regressions (if any) or improvements.

Native JSON support for EFCore

Related:
dotnet/efcore#4021
dotnet/efcore#2282

In my vision, there should be an attribute let's say SqlJsonAttribute or whatever, that when we use it on an entity property, a string-based (e.g. nvarchar) column is created for it in the DB, and a HasConversion is added to the DbContext for that property instructing EF to transform its contents into JSON (whether it's a complex object, array or whatever), using the JSON serializer registered with the IDbContextServices/IDatabaseProviderServices fail-safing to JSON.NET.

A middleware will be injected to the EF runtime that intercepts the queries and rewrites all the parts that concern those jsonized properties into OPENJSON SQL queries, so that from the point of view of the layer using EF, no special attention has to paid when querying those properties as far as it concerns LINQ to SQL support.

netstandard2.0 compatibility

Can compatibility be changed from netcoreapp2.1 to netstandard2.0 to match Microsoft.EntityFrameworkCore.SqlServer 2.1

Matching rule too strict for UNION

public class Transaction
{
    public byte? type { get; set; }
}
var res1 = from t1 in dataContext.Table1TypeNotNull select new Transaction {type=t1.type}
var res2 = from t2 in dataContext.Table2TypeNullable select new Transaction {type=t2.type}
var resUnion = res1.Concat(res2);

I expected that resUnion should be a "Union" SQL but it is fallbacked to enumerable (execute 2 select separatly then make the union happen in memory)

The cause is that t1.type is (byte) and t2.type is (byte?)

image

I think that the rule is not reasonable, we would be able to generate a UNION query in my case...

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.