[英]Dapper Mapping List of Results
我的存儲過程返回了用戶列表以及關系表中的組織詳細信息。
我已經使用dapper在C#Web API應用程序中執行存儲過程。
我是小巧的新手。 如何將存儲過程返回的結果映射到我的模型?
CREATE PROCEDURE [dbo].[GetAllUsersByOrganisation]
@OrganisationId int = 0
AS
SELECT * from dbo.Users u
inner join dbo.Organisations org on u.OrganisationId = org.Id
Where u.OrganisationId = @OrganisationId
public List<User> GetUseryOrganisation(int organisationId)
{
var users = DataContextFactory.GetConnectionString(_settings)
.Execute("dbo.GetAllUsersByOrganisation", new {OrgantisationId = organisationId},
commandType: CommandType.StoredProcedure);
// Map to return List of User
}
public class User
{
public string Title { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public string PhoneNumber { get; set; }
public string EmailAddress { get; set; }
public Organisation Organisation { get; set; }
}
public class Organisation
{
public int Id { get; set; }
public string Name { get; set; }
}
您應該使用Query
重載,它期望返回的記錄集中有兩種類型(用戶數據和組織數據),然后將組織數據分配給用戶實體:
var users = DataContextFactory.GetConnectionString(_settings)
.Query<User, Organisation, User>(
"dbo.GetAllUsersByOrganisation",
(u,o) => { u.Organisation = o; return u; }, // map function
new {OrgantisationId = organisationId},
commandType: CommandType.StoredProcedure);
return users.ToList();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.