GithubHelp home page GithubHelp logo

soul-soft / dapper.linq Goto Github PK

View Code? Open in Web Editor NEW
152.0 10.0 48.0 26.36 MB

Dapper.Linq

License: Apache License 2.0

C# 100.00%
mysql sqlserver dapper orm subquery windows-function object-to-sql linq-to-sql sqlite custom-functions

dapper.linq's People

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

dapper.linq's Issues

Request to change package name from Dapper.Common

The name "Dapper.Common" suggests that this library is a core/shared/common component affiliated with "Dapper", i.e. an official part of the Dapper library. Since this is not the case, I believe that the name "Dapper.Common" is misleading and confusing.

I am requesting that you consider an alternative name, perhaps focusing on what is new/different/special about your project. Perhaps something that highlights the LINQ nature of your work? I'm not convinced that it even needs to call out the "Dapper" part - from the API, it seems that Dapper existing underneath is an implementation detail that shouldn't concern the consumer.

join问题

    public IQueryable<T1, T2, T3> Join<E1, E2>(Expression<Func<E1, E2, bool>> expression, JoinType join = JoinType.Inner) where E1 : class where E2 : class
    {
        var onExpression = ExpressionUtil.BuildExpression(expression, _param, _prefix, false);
        var table1Name = EntityUtil.GetTable<E1>().TableName;
        var table2Name = EntityUtil.GetTable<E2>().TableName;
        var joinType = string.Format("{0} JOIN", join.ToString().ToUpper());
        if (_tables.Count == 0)
        {
            _tables.Add(table1Name);
            _tables.Add(table2Name);
            Join(string.Format("{0} {1} {2} ON {3}", table1Name, joinType, table2Name, onExpression));
        }
        else if (_tables.Exists(a => table1Name == a))
        {
            _tables.Add(table2Name);
            Join(string.Format("{0} {1} ON {2}", joinType, table2Name, onExpression));
        }
        else
        {
            _tables.Add(table1Name);
            Join(string.Format("{0} {1} ON {2}", joinType, table1Name, onExpression));
        }
        return this;
    }

T1, T2, T3 三个实体 ,为什么表达式只有E1, E2两个参数,不应该有个E3吗?不然E3的表关联关系怎么表达呢?

考虑支持动态类型吗?

有些时候在程序运行时才能知道数据的类型,或者需要从数据库动态生成数据类型(而不是提前定义好相关的类),不知道是否有计划支持?

关于实体主键的问题

我知道实体属性添加了[Column()]后则标识为主键,insert时会忽略这个属性
但是我的主键是guid,我看到模板实体里面ColumnAttribute有个Extra参数可以标识该字段是否自增,现在为什么去掉了呢?
现在如果我想实现insert时不排除加了IsIdentity = true的属性该怎么做呢?

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.