Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Petapoco-找不到拆分点_C#_.net_Database_Orm_Petapoco - Fatal编程技术网

C# Petapoco-找不到拆分点

C# Petapoco-找不到拆分点,c#,.net,database,orm,petapoco,C#,.net,Database,Orm,Petapoco,我一直在与peta poco和相关类进行斗争,并且得到了一个错误,即无法找到PetapoProofConcept.Resource和PetapoProofConcept.BookingType之间的拆分点 我的两门课是: [TableName("Resource"), PrimaryKey("Id")] public class Resource { public int Id { get; set; } public string Title { get; set; }

我一直在与peta poco和相关类进行斗争,并且得到了一个错误,即无法找到PetapoProofConcept.Resource和PetapoProofConcept.BookingType之间的拆分点

我的两门课是:

[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; }
}
我在执行这行代码时出错:

using (var connection = new SqlConnection(ConnectionString))
        {
            connection.Open();
            var resources = new Database(connection).Query<Resource, BookingType>("SELECT * FROM [Resource]").ToList();
        }
我一直在阅读一些文档,但似乎找不到任何关于此失败原因的答案。有人知道吗


谢谢:

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

var posts = db.Fetch<post, author>(@"
        SELECT * FROM posts 
        LEFT JOIN authors ON posts.author = authors.id ORDER BY posts.id
        ");
这将为您提供两个包含帖子和作者的列表

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

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
        ");

啊,好吧,这可以补偿一些事情。我一定是误解了它的工作原理。我会试试你在这里的建议,谢谢。链接断了。这真的有效吗?我尝试了完全相同的方法,但存在两个实体的Id属性未设置为0的问题。