【问题标题】:Retrieve list from object in Database从数据库中的对象中检索列表
【发布时间】:2015-12-28 10:53:49
【问题描述】:

我想使用 asp.net 发送包含在数据库中的名称列表

这是我的两个对象:

public class Shop
{
    public int ID { get; set; }
    public string Country { get; set; }
    public List<Item> Items{ get; set; }
}

public class Item
{
    public int ID { get; set; }
    public string Name { get; set; }
}

我想设置一个 get 控制器来检索项目列表。 我做了这样的事情:

 public IEnumerable<Item> Get(int id)
    {

        var items= new List<Item>();
        var shop= new Shop();

        using (var systemDB = new ShopsDB())
        {
                            it = systemDB.Shops.Where(s => s.ID == id).FirstOrDefault<Shop>();
                            items = it.Items;
        }   

            return items;

    }

返回&lt;ArrayOfItem i:nil="true"/&gt;。 我想获取一家商店的完整商品列表(例如 ID=1 的商店)

【问题讨论】:

  • 代替 First 或 Default 使用 ToList();
  • 因为您只调用 1 而不是列表,ToList();将向您发送对象的完整列表
  • 感谢您的回复!我需要返回商店中包含的商品列表(例如 ID=1)而不是商店列表;)
  • 商品和店铺有关系吗?
  • 是的,商店对象中包含一个项目列表。我需要找回它。

标签: asp.net list object get


【解决方案1】:

这将返回列表

using (var systemDB = new ShopsDB())
    {
                        lab = systemDB.Shops.Where(s => s.ID == id).ToList();
                        items = lab.Items;
    }   

【讨论】:

    【解决方案2】:

    我解决了修改 Item 对象:

    public class Shop
    {
        public int ID { get; set; }
        public string Country { get; set; }
        public List<Item> Items{ get; set; }
    }
    
    public class Item
    {
        public int ID { get; set; }
        public string Name { get; set; }
        public int ShopID { get; set; }
    }
    

    并设置查询以选择 ShopID

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-12-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多