2017-10-24 1 views
0

Ich habe Modelle erstellt durch Entity Framework erstellen:Wie Modell basierte C# Liste von Datenbank

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; } 
} 

dann eine weitere Details der Tabelle:

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;} 
} 

Ich versuche, eine Methode zu machen, die Rückkehr Die Liste mit Abfrageergebnissen Mitglied werden aber ich hier #anonymous Art Fehler bin Empfang ist mein Code:

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; 


     } 
    } 

Ich brauche eine Hilfe, die, wie ich kann ich eine generische Liste mit Datenbankfeldern erstellen

Antwort

0

neue Klasse erstellen:

public class OrderDetailsModel 
{ 
    public int OrderId { get; set; } 

    public DateTime OrderDate { get; set; } 

    public int Quantity { get; set; } 

    public decimal Rate { get; set; } 
} 

und zurück Liste der Objekte dieser Klasse von Ihrer Methode:

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(); 
    } 
+0

Danke für die Hilfe –

+0

Bitte markieren Sie diese Antwort als akzeptiert, wenn es hilfreich war – ingvar

Verwandte Themen