【发布时间】:2016-02-27 14:55:11
【问题描述】:
我的数据库中有这些类及其等效表:
public class Entity
{
public int Id { get; set; }
public List<EntityIdentifier> Identifiers { get; set; }
public BaseEntity()
{
Identifiers = new List<EntityIdentifier>();
}
}
public class EntityIdentifier
{
public int Id { get; set; }
public int EntityId { get; set; }
public string Code { get; set; }
public string Value { get; set; }
}
我想用 Dapper 查询数据库并自动映射数据。
我有这个多重映射的例子,来自Dapper git page:
var sql =
@"select * from #Posts p
left join #Users u on u.Id = p.OwnerId
Order by p.Id";
var data = connection.Query<Post, User, Post>(sql, (post, user) => { post.Owner = user; return post;});
var post = data.First();
post.Content.IsEqualTo("Sams Post1");
post.Id.IsEqualTo(1);
post.Owner.Name.IsEqualTo("Sam");
post.Owner.Id.IsEqualTo(99);
但是,在此示例中,每个子项(帖子)都有一个指向其父项(用户)的链接。 在我的例子中,它是指向子(标识符)的 list 的父(实体)。
我需要如何根据我的情况调整代码?
这是我正在使用的 SQL 查询:
SELECT e.*, i.*
FROM Entity e INNER JOIN EntityIdentifier i ON i.EntityId = e.Id
【问题讨论】:
-
您执行什么查询来提取 Entity 和 EntityIdentifier 表之间的连接数据?
-
@Steve 就在这里
标签: c# sql .net sql-server dapper