2016-06-15 25 views
0

我需要学习如何建构列表从查询结果构建列表为WPF

什么我的DbContext:

public class Transport 
{ 
    [Key] 
    public int TransportID {get; set;} 
    public string Model { get; set; } 
    public string Brand { get; set; } 
} 

public class TransportOwner 
{ 
    [Key] 
    public int TransportOwnerID {get; set;} 
    public int TransportID {get; set;} 
    [ForeignKey("TransportID")] 
    public virtual Transport Transport { get; set; } 
} 

public virtual DbSet<Transport> Transports { get; set; } 
public virtual DbSet<TransportOwner> TransportOwners { get; set; } 

在C#中,我创建列表:

private List<OwnerTransport> _ownerTransportList; 

也有从我的DBContext数据:

var ownerTransport = DBContext.OwnerTransports.AsQueryable(); 

var queryResult = ownerTransport 
     .Select(t => new 
     { 
      t.ID, 
      t.PersonalCode, 
      t.TransportID, 
      Model = t.Transport.Model, 
      Brand = t.Transport.Brand, 
     }).ToList(); 

queryResult我想在OwnersTransportList中看到蚂蚁设置为我的DataGrid的ItemSource

+2

具体是什么问题? –

+0

我不知道如何在c#中编写代码以从我的queryResult创建一个列表,我可以将其设置为WPF中的GridControl的项目源。我正在尝试这个:OwnerTransportList = savTransportList.ToList()?; – Songaila

+0

其实不知道如何将一个列表转换为另一个女巫匹配我的表格 – Songaila

回答

0

考虑使用LINQ-to-Entities在通过EF将数据拉入内存之前对(DB)存储中的数据执行过滤器。

例如,要填充您的WPF GridControl,请执行以下代码。作为一个可能的过滤器的例子,我包含了一个where子句来过滤特定的TransportID

public ICollection<OwnerTransport> GetOwnerTransportByTransportId(int transportId, int? skip = null, int? take = null) 
{ 
    using (var context = new DBContext()) 
    { 
     // base query 
     var query = context.OwnerTranports.AsQueryable(); 

     // execute filter on transport ID 
     query = query.Where(t => t.TransportID == transportId.Value); 

     // apply skip/take 
     if (skip.HasValue) 
     { 
      query = query.Skip(skip.Value); 
     } 
     if (take.HasValue) 
     { 
      query = query.Take(take.Value); 
     }   

     // Materialize data. This pulls it from DB store into memory. 
     var data = query.ToList(); 

     return data; 
    } 
} 
+0

以及如何描述列表女巫我想分配给网格? – Songaila

+0

您使用什么模式将模型连接到视图? MVVM? –

+0

其实我在使用Oracle,Visual Studio和c#时是全新的,但是我亲爱的说WPF MVVM – Songaila