【问题标题】:How to create Model based C# List from Database如何从数据库创建基于模型的 C# 列表
【发布时间】:2017-10-24 16:36:44
【问题描述】:

我有通过实体框架创建的模型:

public partial class Order
{
    public Order()
    {
        this.OrderDetails = new HashSet<OrderDetail>();
    }

    public int OrderID { get; set; }
    public string OrderNo { get; set; }
    public System.DateTime OrderDate { get; set; }
    public string Description { get; set; }

    public virtual ICollection<OrderDetail> OrderDetails { get; set; }
}

然后是另一个详细信息表:

 public partial class OrderDetail
{
    public int OrderItemsID { get; set; }
    public int OrderID { get; set; }
    public string ItemName { get; set; }
    public int Quantity { get; set; }
    public decimal Rate { get; set; }
    public decimal TotalAmount { get; set; }

    public virtual Order Order { get; set; }
}

 To See the Master Detail Data I made MasterDetails model As:

 public class OrderVM
{
    public string OrderNo { get; set; }
    public DateTime OrderDate { get; set; }
    public string Description { get; set; }
    public List<OrderDetail> OrderDetails {get;set;}
}

我正在尝试创建一个返回带有 Join 查询结果的 LIST 的方法,但是 我收到#Anonymous 类型错误,这是我的代码:

public static List<OrderVM > mylist()
    {
        List<OrderVM> slist = new List<OrderVM>();

        using (MyDatabaseEntities1 dc = new MyDatabaseEntities1())
        {
            var myvalues = from O in dc.Orders
                          join D in dc.OrderDetails
                          on
                          O.OrderID equals D.OrderID
                          select new
                           {
                               O.OrderID,
                               O.OrderDate,
                               D.Quantity,
                               D.Rate
                           };


              foreach(var myorders in myvalues)
              {
                  slist.Add(myorders);
              }

              return slist;


        }
    }

我需要帮助我如何创建包含数据库字段的通用列表

【问题讨论】:

    标签: entity-framework relational-database generic-list


    【解决方案1】:

    创建新类:

    public class OrderDetailsModel
    {
        public int OrderId { get; set; }
    
        public DateTime OrderDate { get; set; }
    
        public int Quantity { get; set; }
    
        public decimal Rate { get; set; }
    }   
    

    并从您的方法返回此类的对象列表:

        using (MyDatabaseEntities1 dc = new MyDatabaseEntities1())
        {
            var myvalues = from O in dc.Orders
                          join D in dc.OrderDetails
                          on
                          O.OrderID equals D.OrderID
                          select new OrderDetailsModel
                          {
                              OrderId = O.OrderID,
                              OrderDate = O.OrderDate,
                              Quantity = D.Quantity,
                              Rate = D.Rate
                          };
    
    
              return myvalues.ToList();
        }
    

    【讨论】:

    • 感谢您的帮助
    猜你喜欢
    • 2014-04-16
    • 1970-01-01
    • 2020-10-10
    • 2011-01-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-16
    相关资源
    最近更新 更多