Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/78.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# NPoco fetchOneToMany错误_C#_Sql_Petapoco_Npoco - Fatal编程技术网

C# NPoco fetchOneToMany错误

C# NPoco fetchOneToMany错误,c#,sql,petapoco,npoco,C#,Sql,Petapoco,Npoco,我尝试使用Npco的fetchOneToMany方法将对象映射为嵌套对象列表,如下所示: 以下是查询: List<Ingredient> list = db.FetchOneToMany<Ingredient, IngredientLang>(x => x.Id, @"SELECT ing.*, lang.* FROM SDS_INGREDIENTS_ING ing LEFT

我尝试使用Npco的fetchOneToMany方法将对象映射为嵌套对象列表,如下所示:

以下是查询:

List<Ingredient> list = db.FetchOneToMany<Ingredient, IngredientLang>(x => x.Id,
    @"SELECT     ing.*, 
                 lang.*
      FROM       SDS_INGREDIENTS_ING ing 
      LEFT JOIN  SDS_INGREDIENTS_LANG lang 
      ON         ing.ING_ID=lang.ING_ID");
Npoco返回以下错误:在类型为:component的对象上找不到类型为ICollection`1的属性,这使我感到困惑,因为类component确实具有类型为IList的属性。我们尝试了List、IList、IEnumerable和几乎所有我们能想到的类型的集合,但都没有成功

你知道可能出了什么问题吗?

配料郎不是财产。这是一个领域。 如果你让它成为一种财产,它应该会起作用

 public partial class Graph
 {
    [Reference(ReferenceType.Many, ColumnName = "GraphId", 
     ReferenceMemberName = "GraphId")]
    [Column] public List<Plot> Plots { get; set; }
...
[TableName("Graph")]
[PrimaryKey("GraphId")]
[ExplicitColumns]
public partial class Graph : fooDB.Record<Graph>  
{   
...

NPoco规则

反斜杠对ing.\*和lang.\*有什么作用?似乎SQL语法无效。对此表示抱歉。我是stackoverflow新手,我使用的是[code]标记,中间的“*”字符由于某种原因不会显示。我通过添加前面的C++风格来解决它。然后我删除了[code]标记,因为我意识到你所要做的就是缩进,但我忘了删除反斜杠。现在已修复。只是问一下,[Ignore]属性也不是问题吗?还是我误解了注释?你完全正确,我们通过添加相应的get/set方法修复了它。我不理解字段和属性之间的区别,这是我的错。我还是C的新手。谢谢!如果我有足够的声誉,我会提高投票率。
 public partial class Graph
 {
    [Reference(ReferenceType.Many, ColumnName = "GraphId", 
     ReferenceMemberName = "GraphId")]
    [Column] public List<Plot> Plots { get; set; }
...
[TableName("Graph")]
[PrimaryKey("GraphId")]
[ExplicitColumns]
public partial class Graph : fooDB.Record<Graph>  
{   
...
results = tdb.FetchOneToMany<Graph>(g => g.Plots, _plotsByReview, reviewId);
private static string _plotsByReview = @"
        select 
        g.GraphId,
        g.GraphName,
        g.UserId,
        g.Shared,
        g.ReviewId,
        p.PlotId as Plots__PlotId,
        p.GraphId as Plots__GraphId,
        p.TagId as Plots__TagId,
        p.YAxis as Plots__YAxis,
        p.Relabel as Plots__Relabel,
        p.Scale as Plots__Scale,
        p.MinY as Plots__MinY,
        p.MaxY as Plots__MaxY
        from [Graph] g
        inner join [Plot] p on p.GraphId = g.GraphId
        where g.ReviewId = @0
    ";