首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Petapoco -找不到分裂点

Petapoco -找不到分裂点
EN

Stack Overflow用户
提问于 2016-11-01 10:38:46
回答 1查看 796关注 0票数 3

我一直在与peta和相关类做斗争,并得到了“无法在PetaPocoProofOfConcept.Resource和PetaPocoProofOfConcept.BookingType之间找到分裂点”的错误。

我的两个班是:

代码语言:javascript
复制
[TableName("Resource"), PrimaryKey("Id")]
public class Resource
{
    public int Id { get; set; }
    public string Title { get; set; }
    public string Description { get; set; }
    public long MinTimeSpan { get; set; }
    public long MaxTimeSpan { get; set; }
    public long FixedTimeSpan { get; set; }
    public DateTime ActiveStart { get; set; }
    public DateTime ActiveEnd { get; set; }
    public bool Active { get; set; }
    public BookingType BookingType { get; set; }
    public int StatusId { get; set; }
}

[TableName("BookingType"), PrimaryKey("Id")]
public class BookingType
{
    public int Id { get; set; }
    public string Name { get; set; }
    public string Description { get; set; }
}

在执行这一行代码时,我会得到错误:

代码语言:javascript
复制
using (var connection = new SqlConnection(ConnectionString))
        {
            connection.Open();
            var resources = new Database(connection).Query<Resource, BookingType>("SELECT * FROM [Resource]").ToList();
        }

我一直在阅读一些文件,但似乎找不到任何答案,为什么这一失败。有人知道吗?

谢谢:)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-11-01 20:55:42

这不是Petapoco多重映射的工作方式。您可以以这种方式使用该语法:

代码语言:javascript
复制
var posts = db.Fetch<post, author>(@"
        SELECT * FROM posts 
        LEFT JOIN authors ON posts.author = authors.id ORDER BY posts.id
        ");

这给出了两个包含文章和作者的列表。

如果希望执行更复杂的映射(如示例),则需要编写如下回调:

代码语言:javascript
复制
var posts = db.Fetch<post, author, post>(
        (p,a)=> { p.author_obj = a; return p; },
        @"SELECT * FROM posts 
        LEFT JOIN authors ON posts.author = authors.id ORDER BY posts.id
        ");

关于Petapoco多映射的更多信息

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40358408

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档