Информация об изменениях

Сообщение Re[65]: Тормознутость и кривость linq от 13.04.2016 7:44

Изменено 13.04.2016 7:51 Serginio1

Здравствуйте, alex_public, Вы писали:



_>Помогаю слепым в последний раз:

_>

Stack Overflow has only 1 stored procedure in the database and I intend to move that last vestige into code.


Кстати там же сравнение с ServiceStack.OrmLite

https://github.com/ServiceStack/ServiceStack.OrmLite

Hand coded (using a SqlDataReader ) 47ms Can be faster
Dapper ExecuteMapperQuery 49ms
ServiceStack.OrmLite (QueryById) 50ms


А там синтаксис близок к Linq
Person person = db.SingleById<Person>(1);

Person person = db.Single<Person>(x => x.Age == 42);

var q = db.From<Person>()
          .Where(x => x.Age > 40)
          .Select(Sql.Count("*"));

int peopleOver40 = db.Scalar<int>(q);

int peopleUnder50 = db.Count<Person>(x => x.Age < 50);

bool has42YearOlds = db.Exists<Person>(new { Age = 42 });

int maxAgeUnder50 = db.Scalar<Person, int>(x => Sql.Max(x.Age), x => x.Age < 50);

var q = db.From<Person>()
    .Where(x => x.Age == 27)
    .Select(x => x.LastName);

List<string> results = db.Column<string>(q);

var q = db.From<Person>()
          .Where(x => x.Age < 50)
          .Select(x => x.Age);

HashSet<int> results = db.ColumnDistinct<int>(q);

var q = db.From<Person>()
          .Where(x => x.Age < 50)
          .Select(x => new { x.Id, x.LastName });

Dictionary<int,string> results = db.Dictionary<int, string>(q);

var q = db.From<Person>()
          .Where(x => x.Age < 50)
          .Select(x => new { x.Age, x.LastName });

Dictionary<int, List<string>> results = db.Lookup<int, string>(q);


Главного то ты и не заметил
Re[65]: Тормознутость и кривость linq
Здравствуйте, alex_public, Вы писали:



_>Помогаю слепым в последний раз:

_>

Stack Overflow has only 1 stored procedure in the database and I intend to move that last vestige into code.


Кстати там же сравнение с ServiceStack.OrmLite

https://github.com/ServiceStack/ServiceStack.OrmLite

Hand coded (using a SqlDataReader ) 47ms Can be faster
Dapper ExecuteMapperQuery 49ms
ServiceStack.OrmLite (QueryById) 50ms


А там синтаксис близок к Linq
Person person = db.SingleById<Person>(1);

Person person = db.Single<Person>(x => x.Age == 42);

var q = db.From<Person>()
          .Where(x => x.Age > 40)
          .Select(Sql.Count("*"));

int peopleOver40 = db.Scalar<int>(q);

int peopleUnder50 = db.Count<Person>(x => x.Age < 50);

bool has42YearOlds = db.Exists<Person>(new { Age = 42 });

int maxAgeUnder50 = db.Scalar<Person, int>(x => Sql.Max(x.Age), x => x.Age < 50);

var q = db.From<Person>()
    .Where(x => x.Age == 27)
    .Select(x => x.LastName);

List<string> results = db.Column<string>(q);

var q = db.From<Person>()
          .Where(x => x.Age < 50)
          .Select(x => x.Age);

HashSet<int> results = db.ColumnDistinct<int>(q);

var q = db.From<Person>()
          .Where(x => x.Age < 50)
          .Select(x => new { x.Id, x.LastName });

Dictionary<int,string> results = db.Dictionary<int, string>(q);

var q = db.From<Person>()
          .Where(x => x.Age < 50)
          .Select(x => new { x.Age, x.LastName });

Dictionary<int, List<string>> results = db.Lookup<int, string>(q);


Главного то ты и не заметил

Кстати статья https://habrahabr.ru/post/256791/