C# 将项目添加到对象列表字段
C# Adding items to object list field
我有两个 class Agens 和 OrdiniPuddy。它们之间通过mean codAge字段有关系。
public class Agens
{
public string COD_CG { get; set; }
public string codAge { get; set; }
public string Agente { get; set; }
public string Societa { get; set; }
public DateTime PrimaTrasm { get; set; }
public DateTime UltimaTrasm { get; set; }
public int Destinazioni { get; set; }
public int Pezzi { get; set; }
public double Imponibile { get; set; }
public List<OrdiniPuddy> ordiniPuddy { get; set; }
}
public class OrdiniPuddy
{
public string codCli { get; set; }
public string Dest_ID { get; set; }
public string Ragsoc { get; set; }
public string Indirizzo { get; set; }
public string Localita { get; set; }
public string Prov { get; set; }
public string Regione { get; set; }
public string Calendario { get; set; }
public string Cap { get; set; }
public string codAgente { get; set; }
}
我已经用这段代码填充了它们:
var results = connection.QueryMultiple(sql);
IEnumerable<Agens> agenti = results.Read<Agens>();
IEnumerable<OrdiniPuddy> ordiniP = results.Read<OrdiniPuddy>();
最后一步是通过 Mean AddRange Linq 方法将 ordiniP 传递给 agenti.ordiniPuddy
像这样
foreach (var item in agenti)
{
IEnumerable <OrdiniPuddy> ordini = ordiniP.Where(o => o.codAgente == item.codAge).ToList();
agenti.ordiniPuddy.AddRange((IEnumerable<Agens>)ordini);
}
但编译器在 agenti.ordiniPuddy 上给我一条错误消息:'type' 不包含 'name' 的定义并且没有可访问的扩展方法 'name' 接受第一个参数可以找到 'type' 类型(是否缺少 using 指令或程序集引用?)。
哪里出错了,为什么我引用不了agenti.ordiniPuddy?
我的 C# 知识才刚刚开始。
谢谢
修复您的代码
var ordini = ordiniP.Where(o => o.codAgente == item.codAge).ToList();
if(ordini!=null)
{
if( item.ordiniPuddy ==null) item.ordiniPuddy=new List<OrdiniPuddy>();
item.ordiniPuddy.AddRange(ordini);
}
我有两个 class Agens 和 OrdiniPuddy。它们之间通过mean codAge字段有关系。
public class Agens
{
public string COD_CG { get; set; }
public string codAge { get; set; }
public string Agente { get; set; }
public string Societa { get; set; }
public DateTime PrimaTrasm { get; set; }
public DateTime UltimaTrasm { get; set; }
public int Destinazioni { get; set; }
public int Pezzi { get; set; }
public double Imponibile { get; set; }
public List<OrdiniPuddy> ordiniPuddy { get; set; }
}
public class OrdiniPuddy
{
public string codCli { get; set; }
public string Dest_ID { get; set; }
public string Ragsoc { get; set; }
public string Indirizzo { get; set; }
public string Localita { get; set; }
public string Prov { get; set; }
public string Regione { get; set; }
public string Calendario { get; set; }
public string Cap { get; set; }
public string codAgente { get; set; }
}
我已经用这段代码填充了它们:
var results = connection.QueryMultiple(sql);
IEnumerable<Agens> agenti = results.Read<Agens>();
IEnumerable<OrdiniPuddy> ordiniP = results.Read<OrdiniPuddy>();
最后一步是通过 Mean AddRange Linq 方法将 ordiniP 传递给 agenti.ordiniPuddy 像这样
foreach (var item in agenti)
{
IEnumerable <OrdiniPuddy> ordini = ordiniP.Where(o => o.codAgente == item.codAge).ToList();
agenti.ordiniPuddy.AddRange((IEnumerable<Agens>)ordini);
}
但编译器在 agenti.ordiniPuddy 上给我一条错误消息:'type' 不包含 'name' 的定义并且没有可访问的扩展方法 'name' 接受第一个参数可以找到 'type' 类型(是否缺少 using 指令或程序集引用?)。
哪里出错了,为什么我引用不了agenti.ordiniPuddy? 我的 C# 知识才刚刚开始。 谢谢
修复您的代码
var ordini = ordiniP.Where(o => o.codAgente == item.codAge).ToList();
if(ordini!=null)
{
if( item.ordiniPuddy ==null) item.ordiniPuddy=new List<OrdiniPuddy>();
item.ordiniPuddy.AddRange(ordini);
}