2016-04-14 10 views
0

私はちょうどC#の学習を始めました。私の質問は愚かに聞こえるかもしれません...私のビューモデル内のリストをデータベースから取り込む方法は?

DBからのデータを使用してビューモデル内のリストにデータを取り込む方法はありますか?

私のviewmodels:

var model = (from p in db.Clients 
       select new TransferSpecificClientsViewModel() 
       { 
        // And here I need to populate the ClientsToTransferList with data from db.Clients... I think it should probably be something like 
        //ClientsToTransferList.ClientId = p.Id 
        //ClientsToTransferList.UserId = p.UserId 
        //ClientsToTransferList.Name = p.Name }); 

しかし

は、私はちょうどそれを作る方法を知らない私のデータベース内の各クライアントのために:

public class TransferSpecificClientsViewModel 
{ 

    public string TransferFrom { get; set; } 
    public string TransferTo { get; set; } 
    public virtual ICollection<ClientsToTransfer> ClientsToTransferList { get; set; } 

} 

public class ClientsToTransfer 
{ 
    public bool IsSelected { get; set; } 
    public int ClientId { get; set; } 
    public int UserId { get; set; } 
    public string Name { get; set; } 

} 

とコントローラでは、おそらく私のようなものが必要仕事...そして、C#を初めて使っている人は、私が何をしようとしているのかを正しく調べる方法を知らない。

答えて

1

あなたは本当に近いです。 virtual ICollection<ClientsToTransfer>を単にList<ClientsToTransfer>に変更し、あなたが思っているように選択します。

//...initialize TransferFrom and TransferTo properties of your view model 
model.ClientsToTransferList = 
      (from p in db.Clients 
      select new ClientsToTransfer() 
      { 
       ClientId = p.Id 
       UserId = p.UserId 
       Name = p.Name 
      }).ToList(); 
+1

私を助けようとしてくれてありがとう...私はまだあなたが言ったように私は、今、私はシステムのコレクションのIEnumerableを「それは実装していないので、型TransferSpecificClientsViewModelを初期化できません」を取得...これで問題を抱えています"無効なInitializerメンバー宣言子" –

+1

申し訳ありません、私は間違ったクラスを選択していました。一定。 'model'変数がビューモデルと同じ型であることを確認してください。 – Jakotheshadows

+1

ありがとうございます!出来た! (ClientsToTransferList.ClientIdのような)[ClientsToTransferList.ClientId]の中の部分からClientsToTransferListを削除しなければならなかった) –

関連する問題