【发布时间】:2012-03-20 01:26:55
【问题描述】:
我刚刚开始使用 Dapper,但我似乎没有找到像将实体映射到数据库中的表这样简单的东西:
我有一个存储过程:
CREATE PROCEDURE [dbo].GetUserById (@UserId int)
AS
begin
SELECT UserId,LastName,FirstName,EmailAddress
FROM users
WHERE UserID = @UserId
end
go
然后是一个实体:
public class User
{
public int Id { get; set; }
public string LastName { get; set; }
public string FirstName { get; set; }
public string Email { get; set; }
}
我的代码中有一个简洁的查询:
int userid=1;
User User = connection.Query<User>("#GetUserById", new {userid=userid}, commandType: CommandType.StoredProcedure).FirstOrDefault();
我的问题是:如何告诉我的实体用户 Id 是我数据库上的用户 ID?
在 EF 中我会这样做:
MapSingleType(c => new
{
UserId = c.Id,
Firstname = c.Firstname,
Lastname = c.Lastname,
EmailAddress = c.Email
}).ToTable("users");
如何在dapper中实现以上功能?
【问题讨论】:
标签: c# .net orm mapping dapper