Dapper for fetching data from multiple Tables in Dotnet core
using Dapper;
using System;
using System.Data.SqlClient;
using System.Collections.Generic;
using System.Linq;
public class User
{
public int Id { get; set; }
public string Name { get; set; }
}
public class Order
{
public int Id { get; set; }
public int UserId { get; set; }
public string Product { get; set; }
}
public class Program
{
private static string connectionString = "YourConnectionStringHere";
public static void Main()
{
using (var connection = new SqlConnection(connectionString))
{
connection.Open();
// Fetch data from multiple tables
var sql = @"
SELECT u.Id, u.Name, o.Id AS OrderId, o.Product
FROM Users u
LEFT JOIN Orders o ON u.Id = o.UserId";
var result = connection.Query<User, Order, User>(sql, (user, order) =>
{
user.Orders = user.Orders ?? new List<Order>();
user.Orders.Add(order);
return user;
}, splitOn: "OrderId").ToList();
foreach (var user in result)
{
Console.WriteLine($"User: {user.Name}");
foreach (var order in user.Orders)
{
Console.WriteLine($" Order: {order.Product}");
}
}
}
}
}
Comments
Post a Comment