动态 LINQ - select ICollection 字段中的某些字段
Dynamic LINQ - select certain fields from ICollection Field
我有 table 这样的:
class x
{
public int Id {set;get;}
public ICollection<y> items {set;get;}
}
class y
{
public int Id {set;get;}
public string name {set;get;}
public int price {set;get;}
public datetime create_date {set;get;}
public int count {set;get;}
}
并且我想动态查询以获取满足条件 x.id > 100
的所有项目 y(仅名称和价格字段)
where 条件一切正常,我的问题在 select 语句中,我尝试了以下方法:
db.x.where("id>100").select("new (items.select("new {name,price}"))");
和
db.x.where("id>100").select("new (items.select("name,price")");
没有任何效果!
你能帮帮我吗!
我已经尝试 return 所有字段,并且工作正常,如下所示:
db.x.where("id>100").select("new (items)");
尝试在select所有项
后再添加一项select
db.x.where("id>100").select("new (items)").select("new {name,price}");
您可以尝试使用这些示例:
db.x.Where("Id > 100").SelectMany("x => x.items.Select(r => new (r.name, r.price))")
或
db.x.Where("Id > 100").SelectMany("items").Select("new (name, price)")
我有 table 这样的:
class x
{
public int Id {set;get;}
public ICollection<y> items {set;get;}
}
class y
{
public int Id {set;get;}
public string name {set;get;}
public int price {set;get;}
public datetime create_date {set;get;}
public int count {set;get;}
}
并且我想动态查询以获取满足条件 x.id > 100
的所有项目 y(仅名称和价格字段)where 条件一切正常,我的问题在 select 语句中,我尝试了以下方法:
db.x.where("id>100").select("new (items.select("new {name,price}"))");
和
db.x.where("id>100").select("new (items.select("name,price")");
没有任何效果!
你能帮帮我吗!
我已经尝试 return 所有字段,并且工作正常,如下所示:
db.x.where("id>100").select("new (items)");
尝试在select所有项
后再添加一项selectdb.x.where("id>100").select("new (items)").select("new {name,price}");
您可以尝试使用这些示例:
db.x.Where("Id > 100").SelectMany("x => x.items.Select(r => new (r.name, r.price))")
或
db.x.Where("Id > 100").SelectMany("items").Select("new (name, price)")