假设我有下表
Table Products
--------
Id (int)
Name (varchar)
BrandId (int)
Table Brands
-----------
Id (int)
BrandName (varchar)
以及 CSharp 中的以下类
public class Product{
public int Id { get; set;}
public string Name { get;}
public ProductBrand Brand { get;}
}
public class ProductBrand{
public int Id { get; set;}
public string BrandName { get;}
}
如何选择内部联接
这两个表并映射到 ProductBrand
模型及其所有属性都在 dapper 中?
最佳答案
工作代码,请进行如下更改,
public class Product{
public int Id { get; set;}
public string ProductName { get;}
}
public class Brand{
public int BrandId { get; set;}
public string BrandName { get;}
public IList<Product>Products { get;}
}
var sql ="SELECT Id, ProductName, BrandId, BrandName FROM Brand B INNER JOIN Product P ON B.BrandId=P.BrandId"
var products = connection.QueryAsync<Brand, Product, Brand>(sql,
(brand, product) => {
if(brand.Products==null)
{
brand.Products = new List<Product>;
}
brand.Products.Add(product);
return brand;
},
splitOn: "BrandId");
关于c# - Dapper 选择映射到模型的内连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67963966/