NPoco の fetchOneToMany メソッドを使用して、オブジェクトをネストされたオブジェクトのリストにマップしようとしています。このリンクは次のようになります。
[TableName("sds_ingredients_ing")]
[PrimaryKey("ing_id")]
public class Ingredient
{
[Column(Name = "ing_id")]
public int Id { get; set; }
[Column(Name = "ing_cas")]
public string Cas { get; set; }
[Ignore]
public IList<IngredientLang> Ingredient_Lang;
}
[TableName("sds_ingredients_lang")]
[PrimaryKey("ing_id")]
public class IngredientLang
{
[Column(Name = "ing_id")]
public int Id { get; set; }
[Column(Name = "lang_id")]
public int LangId { get; set; }
[Column(Name = "Name")]
public string Name { get; set; }
}
そして、ここにクエリがあります:
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 は次のエラーを返します: Ingredient 型のオブジェクトに ICollection`1 型のプロパティが見つかりません。クラス Ingredient には IList 型のプロパティがあるため、混乱します。List、IList、IEnumerable、および考えられるほぼすべてのタイプのコレクションを試しましたが、どれも機能しませんでした。
何がうまくいかないのか分かりますか?