当前位置:   article > 正文

以下是一些常用Dapper拓展框架的调用例子:_dapper框架

dapper框架

以下是一些常用Dapper拓展框架的调用例子:

1.Dapper.Contrib

// 定义实体类

public class Product
{
    [Key]
    public int ProductId { get; set; }

​    public string Name { get; set; }
​    
​    public decimal Price { get; set; }

}

using Dapper.Contrib.Extensions;

// 保存实体
using (var conn = new SqlConnection(connString))
{
    var newProduct = new Product { Name = "Product A", Price = 10.0m };
    conn.Insert(newProduct);
}

// 查询实体
using (var conn = new SqlConnection(connString))
{
    var products = conn.GetAll<Product>();
    //...
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28

2.Dapper.FastCrud

using Dapper.FastCrud;

// 查询所有产品
using (var conn = new SqlConnection(connString))
{
    var products = conn.Find<Product>();
    //...
}

// 按id获取产品
using (var conn = new SqlConnection(connString))
{
    var product = conn.Get<Product>(1);
    //...
}

// 插入新产品
using (var conn = new SqlConnection(connString))
{
    var newProduct = new Product { Name = "Product A", Price = 10.0m };
    conn.Insert(newProduct);
}

// 更新产品
using (var conn = new SqlConnection(connString))
{
    var product = conn.Get<Product>(1);
    product.Price = 15.0m;
    conn.Update(product);
}

// 删除产品
using (var conn = new SqlConnection(connString))
{
    conn.Delete<Product>(1);
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36

3.Dapper.Rainbow

using Dapper.Rainbow;

// 获取所有产品
using (var conn = new SqlConnection(connString))
{
    var products = conn.SelectAll<Product>();
    //...
}

// 根据id获取产品
using (var conn = new SqlConnection(connString))
{
    var product = conn.FindByPrimaryKey<Product>(1);
    //...
}

// 插入新产品
using (var conn = new SqlConnection(connString))
{
    var newProduct = new Product { Name = "Product A", Price = 10.0m };
    conn.Save(newProduct);
}

// 更新产品
using (var conn = new SqlConnection(connString))
{
    var product = conn.FindByPrimaryKey<Product>(1);
    product.Price = 15.0m;
    conn.Save(product);
}

// 删除产品
using (var conn = new SqlConnection(connString))
{
    conn.Delete<Product>(1);
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36

4.Dapper.SimpleCRUD

using Dapper.SimpleCRUD;

// 查询所有产品
using (var conn = new SqlConnection(connString))
{
    var products = conn.GetList<Product>();
    //...
}

// 根据id获取产品
using (var conn = new SqlConnection(connString))
{
    var product = conn.Get<Product>(1);
    //...
}

// 插入新产品
using (var conn = new SqlConnection(connString))
{
    var newProduct = new Product { Name = "Product A", Price = 10.0m };
    conn.Insert(newProduct);
}

// 更新产品
using (var conn = new SqlConnection(connString))
{
    var product = conn.Get<Product>(1);
    product.Price = 15.0m;
    conn.Update(product);
}

// 删除产品
using (var conn = new SqlConnection(connString))
{
    conn.Delete<Product>(1);
}

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37

5.DapperExtensions

using DapperExtensions;
//查询
using (var conn = new SqlConnection(connString))
{
    conn.Open();
    var products = conn.GetList<Product>(Predicates.Field<Product>(p => p.Price, Operator.Gt, 10));
    //...
}
//插入
using (var conn = new SqlConnection(connString))
{
    conn.Open();
    var newProduct = new Product { Name = "Product A", Price = 10.0m };
    conn.Insert(newProduct);
    //...
}
//更新
using (var conn = new SqlConnection(connString))
{
    conn.Open();
    var product = conn.Get<Product>(1);
    product.Price = 15.0m;
    conn.Update(product);
    //...
}
//删除
using (var conn = new SqlConnection(connString))
{
    conn.Open();
    conn.Delete<Product>(1);
    //...
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32

在DapperExtensions中,查询和操作是通过Predicates和Sort和DelimitedPredicate等类创建的谓词和排序进行构建的。 这些谓词和排序提供了一种将操作与查询中的一个或多个条件相互关联的方法。

DapperExtensions还提供了另一种定义谓词的方法,即使用Expression表达式。 这允许将C#表达式解释为SQL查询文本时更方便地指定操作和查询。

提供有关DapperExtensions的详细信息和更多示例的官方文档在 GitHub 上可获得。

以上示例仅供参考,具体实现方式可能因版本、环境不同而略有差异。使用这些拓展框架时,请确保您已正确安装对应的NuGet包,并参考各自的官方文档以获得更完整的示例和使用说明。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/很楠不爱3/article/detail/135140
推荐阅读
相关标签
  

闽ICP备14008679号