.NET Dapper
▌Introduction
Dapper: a simple object
mapper for .Net
Okay,
I think everyone knows it and I will just keep some sample codes for practicing
and diary.
▌Environment
▋Dapper 1.50.2
▌Implement
▋Sql Connection factory
First,
I created a SqlConnection
factory.
public static class SqlConnectionFactory
{
private static string _connStr = "Data
Source=.;Initial Catalog=XXX;Integrated Security=True";
public static SqlConnection Create()
{
return new SqlConnection(_connStr);
}
}
|
▋Query with Strongly typed result and
anonymous parameter
public static City GetCity(string id)
{
using (var cn = SqlConnectionFactory.Create())
{
var city = cn.QueryFirstOrDefault<City>(
"SELECT * FROM Citys WHERE Id =
@Id", new { Id = id });
return city;
}
}
|
▋Query with Store procedure and dynamic
parameters
public static IEnumerable<City> GetCitiesSp(string cityName)
{
using (var cn = SqlConnectionFactory.Create())
{
var parameter = new DynamicParameters();
parameter.Add("@CityName", cityName, DbType.String, ParameterDirection.Input);
var cities = cn.Query<City>("usp_getCitys",
parameter,
commandType: CommandType.StoredProcedure);
return cities;
}
}
|
▋Query with list
public static IEnumerable<City> GetCities(string[] ids)
{
using (var cn = SqlConnectionFactory.Create())
{
var cities = cn.Query<City>(
"SELECT * FROM Citys WHERE Id IN @Ids", new { Ids = ids });
return cities;
}
}
|
▋Query with list
public static IEnumerable<City> GetCities(string[] ids)
{
using (var cn = SqlConnectionFactory.Create())
{
var cities = cn.Query<City>(
"SELECT * FROM Citys WHERE Id IN @Ids", new { Ids = ids });
return cities;
}
}
|
▋Query multiple result
public static void GetCityCustomer(string cityId,int customerId, out City city, out Customer
customer)
{
using (var cn = SqlConnectionFactory.Create())
{
string sql = @"
SELECT * FROM Citys
WHERE Id = @CityId;
SELECT * FROM
Customers WHERE Id = @CustomerId";
using (var multi = cn.QueryMultiple(sql, new { CityId = cityId, CustomerId = customerId }))
{
city = multi.Read<City>().First();
customer = multi.Read<Customer>().First();
}
}
}
|
▌Reference
▋Dapper Tutorials & Examples - C# Micro ORM
沒有留言:
張貼留言