Ami*_*iri 6 c# sql dapper micro-orm
假设我有这User门课:
public class User
{
public int ID { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public string Email { get; set; }
public DateTime DateCreated { get; set; }
public DateTime LastLogin { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
我想将其映射到下表:
CREATE TABLE "user" (
"ID" int(11) NOT NULL AUTO_INCREMENT,
"FirstName" varchar(45) DEFAULT NULL,
"LastName" varchar(45) DEFAULT NULL,
"Email" varchar(255) NOT NULL,
"DateCreated" int(11) NOT NULL,
"LastLogin" int(11) NOT NULL,
PRIMARY KEY ("ID")
)
Run Code Online (Sandbox Code Playgroud)
或者用更简单的话来说:我想将 DateTime 属性存储为数据库中的 int 字段。然而,这个类/表就是这种情况。其他类/表可能会以不同的方式映射。我正在考虑将自定义转换函数与类型或成员映射结合起来的一些事情。
是否可以使用 Dapper 来实现这一目标?如果可以,如何实现?
最重要的是,Dapper 在设计上并不支持这一点。其核心设计原则之一是表和对象之间的 1:1 映射,但列名到属性名的映射除外。
我最终采用的解决方案是将 Dapper 与 AutoMapper 结合起来,无论如何我们已经大量使用了 AutoMapper。在我们的 Dapper DAO 中,在复杂的情况下,我们使用与域对象分离的实体对象并在它们之间进行映射。因此,域和表之间的重要映射本质上变成了对象到对象映射的简单问题。
| 归档时间: |
|
| 查看次数: |
20067 次 |
| 最近记录: |