Build High-Performance Data Services In Minutes

More than just another ORM, SQL+ .NET is a complete system for building high-performance, robust data services in a highly productive way.

Step 1: Your SQL Procedure


    CREATE PROCEDURE dbo.FeedbackInsert
    (
        @FeedbackId int out,
        @FirstName nvarchar(32),
        @LastName nvarchar(32),
        @Email varchar(64),
        @Subject nvarchar(32),
        @Message nvarchar(1024)
    )
    AS
    BEGIN
        
        SET NOCOUNT ON;
        
        INSERT INTO [dbo].[Feedback]
        (
            LastName,
            FirstName,
            Email,
            Subject,
            Message,
            Created
        )
        VALUES
        (
            @LastName,
            @FirstName,
            @Email,
            @Subject,
            @Message,
            SYSUTCDATETIME()
        );

        SET @FeedbackId = SCOPE_IDENTITY();

        RETURN 1;

    END;

Step 2: SQL+ Semantic Tags


    --+SqlPlusRoutine
        --&Author=Alan Hyneman
        --&Comment=Inserts a new record into the dbo.Feedback table.
        --&SelectType=NonQuery
    --+SqlPlusRoutine
    CREATE PROCEDURE dbo.FeedbackInsert
    (
        @FeedbackId int out,

        --+Required
        --+MaxLength=32
        @FirstName nvarchar(32),
        
        --+Required
        --+MaxLength=32
        @LastName nvarchar(32),
        
        --+Required
        --+MaxLength=64
        --+Email
        @Email varchar(64),
        
        --+Required
        --+MaxLength=32
        @Subject nvarchar(32),
        
        --+Required
        --+MaxLength=1024
        @Message nvarchar(1024)
    )
    AS
    BEGIN

        SET NOCOUNT ON;
        
        INSERT INTO [dbo].[Feedback]
        (
            LastName,
            FirstName,
            Email,
            Subject,
            Message,
            Created
        )
        VALUES
        (
            @LastName,
            @FirstName,
            @Email,
            @Subject,
            @Message,
            SYSUTCDATETIME()
        );
        
        SET @FeedbackId = SCOPE_IDENTITY();
        
        --+Return=Inserted
        RETURN 1;
        
        END;

Step 3: Generate a .net class-library with built-in validation using the Visual Studio Extension

Write Once, Run Everywhere

On premise or in the cloud, your services run flawlessly.