admin

05.04.11

1

Сегодня наткнулся на интресную статью на Хабре о Dapper.NET(ORM сайта StackOverflow). Sam Saffron, разработчик данной ORM, написал интересную статью про производительность чтения данных в различных ORM: LinqToSQL, LinqToEntities и других. Оказывается его ORM работает даже быстрее Compiled Query, в пользоваться её гораздо удобнее. Вот например:

var post = connection.ExecuteQuery<Post>("select * from Posts where Id = @Id", new {Id = 1}).First();

admin

03.03.11

1

На днях была необходимость перемешать посты в базе по дате. Нашел следующий скрипт на просторах интернета:

CREATE FUNCTION [GenerateRandomDateTime]
    (
      @StartDate DateTime,
      @EndDate DATETIME 
    )
RETURNS DATETIME
AS BEGIN
   
    --DECLARE VARIABLES
    DECLARE @RandomDateTime DATETIME
    DECLARE @RandomNumber FLOAT
    DECLARE @IntervalInDays INT ;
     
    SET @IntervalInDays = CONVERT(INT, @EndDate - @StartDate)
    SET @RandomNumber = ( SELECT    [RandNumber]
                          FROM      [RandNumberView]
                        )
                         
    SELECT  @RandomDateTime = DATEADD(ss, @RandomNumber * 86400,
                                      DATEADD(dd,
                                              @RandomNumber * @IntervalInDays,
                                              @StartDate))
 
     
    RETURN @RandomDateTime
 
   
   END
GO
 
CREATE VIEW [RandNumberView]
AS  SELECT  RAND() AS [RandNumber]
 
GO

admin

16.02.11

0

ASP.NET MVC 3

Из нововведений:

  • внутренняя интеграция с IoC-контейнерами и повсеместная поддержка Dependency Injection;
  • добавлен новый движок представлений Razor ViewEngine;
  • расширен механизм валидации: новые атрибуты, поддержка IValidatableObject, исключение параметров при валидации запросов;
  • поддержка динамического типа данных (зависимость от .NET 4.0);
  • глобальные фильтры;
  • встроенная поддержка JSON при работе с параметрами действий;
  • ненавязчивый JavaScript;
  • безсессионные контроллеры;
  • кэширование вложенных действий.

admin

16.02.11

1

По умолчанию SQL Server, при создании запроса на чтение данных (select * from [table]), блокирует таблицу, что создаёт задержки при выборке данных. Это хорошо для банковских операций, но никак не для веба. В вебе важна скорость рендеринга страницы и время подъема данных, их актуальность не является столь критичной. Поэтому необходимо переводить вашу базу данных в режим версионника. Делается это следующие скриптом:

ALTER DATABASE database_name SET ALLOW_SNAPSHOT_ISOLATION ON

Проверить какие базы данных работают в режиме версионника можно следющим скриптом:

SELECT name, snapshot_isolation_state_desc FROM sys.databases

admin

02.11.10

0

Мне надоело каждый раз перед выводом даты инициализировать культуру, поэтому придумал такое решение:

   void MvcApplication_BeginRequest(object sender, EventArgs e)
        {
                CultureInfo newCulture = new CultureInfo("ru-RU");
                newCulture.DateTimeFormat.ShortDatePattern = "dd MMMM";

                Thread.CurrentThread.CurrentCulture = newCulture; }