Localdb Mssqllocaldb [2021] [Hot]

public async Task<IEnumerable<User>> GetUsersAsync() { using var connection = new SqlConnection(_connectionString); return await connection.QueryAsync<User>("SELECT * FROM Users"); }

public DbSet<User> Users { get; set; } public DbSet<Product> Products { get; set; } }

public LocalDBRepository(string databaseName) { _connectionString = $@"Server=(localdb)\MSSQLLocalDB;Database={databaseName};Trusted_Connection=true;"; } localdb mssqllocaldb

Write-Host "Database '$DatabaseName' created successfully!" -ForegroundColor Green Write-Host "Connection string: Server=(localdb)$InstanceName;Database=$DatabaseName;Trusted_Connection=true;" -ForegroundColor Yellow using Dapper; using System.Data.SqlClient; public class LocalDBRepository { private readonly string _connectionString;

public static void CreateDatabase(string databaseName) { string createDbQuery = $@" CREATE DATABASE [{databaseName}] ON PRIMARY (NAME = N'{databaseName}', FILENAME = N'{Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments)}\\{databaseName}.mdf') LOG ON (NAME = N'{databaseName}_log', FILENAME = N'{Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments)}\\{databaseName}_log.ldf')"; using (var connection = new SqlConnection(ConnectionString)) { connection.Open(); using (var command = new SqlCommand(createDbQuery, connection)) { command.ExecuteNonQuery(); Console.WriteLine($"Database '{databaseName}' created successfully!"); } } } Check if Windows Firewall is blocking the connection");

public class User { public int Id { get; set; } public string Username { get; set; } public string Email { get; set; } public DateTime CreatedAt { get; set; } } // Check if LocalDB is running and accessible public static bool TestLocalDBConnection() { try { using var connection = new SqlConnection(@"Server=(localdb)\MSSQLLocalDB;Trusted_Connection=true;"); connection.Open(); Console.WriteLine("✓ LocalDB is accessible"); using var command = new SqlCommand("SELECT @@VERSION", connection); string version = command.ExecuteScalar().ToString(); Console.WriteLine($"✓ SQL Server Version: {version.Substring(0, Math.Min(50, version.Length))}..."); return true; } catch (Exception ex) { Console.WriteLine($"✗ Error connecting to LocalDB: {ex.Message}"); Console.WriteLine("\nTroubleshooting steps:"); Console.WriteLine("1. Run 'sqllocaldb start MSSQLLocalDB' in command prompt"); Console.WriteLine("2. Ensure SQL Server LocalDB is installed"); Console.WriteLine("3. Check if Windows Firewall is blocking the connection"); return false; } } Quick Start Summary # 1. Create and start LocalDB sqllocaldb create "MyApp" sqllocaldb start "MyApp" 2. Get connection string sqllocaldb info "MyApp" 3. Use in C# code "Server=(localdb)\MyApp;Database=MyDatabase;Trusted_Connection=true;" 4. Stop when done sqllocaldb stop "MyApp"

// DbContext class public class ApplicationDbContext : DbContext { public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options) : base(options) { } Use in C# code "Server=(localdb)\MyApp

public async Task<int> InsertUserAsync(User user) { using var connection = new SqlConnection(_connectionString); var sql = "INSERT INTO Users (Username, Email) VALUES (@Username, @Email); SELECT CAST(SCOPE_IDENTITY() as int)"; return await connection.QuerySingleAsync<int>(sql, user); }