2016-10-17 8 views
0

私はdb、engineer、およびengineerSettingsに2つのテーブルを持っています。私は現在、api/usernameとapi/userSettingsの両方のコントローラを持っていますが、ユーザ名とuserSettingsのすべてを返すコントローラapi/userInformationも必要です。私はこれをやって行くのか本当にわからないんだけど、今の私は、私が実際に動作しません1つのWeb APIコントローラで2つのモデルを取得するには?

.... 
//GET 
public IEnumerable<UserInformation> GetUserInformation() 
{ 
    return db.UserInformations; 
} 

を持っているユーザ情報

public class userInformation 
{ 
    public virtual ICollection<Username> Usernames {get;set;} 
    punlic virtual ICollection<UserSetting> UserSettings {get;set;} 
} 

ためそして、私のユーザ情報コントローラの新モデルを持っています私はこの問題を解決する方法を考えていましたか?

+0

機能していませんか? –

+0

私はエンティティの型を取得していますUserInformationは現在のコンテキストエラーのモデルの一部ではなく、 'modelBuilder.Entity ()。ToTable(" UserInformation ")をdbcontextに追加しようとしましたが、同じエラー。 – mimickd

+0

あなたのコンテキストクラスを見てください。これを使用するには、定義する必要があります。 –

答えて

2

モデルを入力します。

public UserInformation GetUserInformation() 
{ 
     UserInformation UserInfo= new UserInformation(); 
     List<Username> lstUsername= new List<Username>(); 
     List<UserSetting> lstUserSetting= new List<UserSetting>(); 
     lstUserSetting=db.UserSettings.ToList(); 
     lstUsername=db.Usernames.ToList(); 
     UserInfo.Usernames =lstUsername; 
     UserInfo.UserSettings =lstUserSetting; 
     return UserInfo; 
} 
+0

Yess。ありがとうございました!私はそれが私が思ったほど簡単ではないことを知っていました。 :) – mimickd

+0

Usernamesとusersettingの両方が "Id"を共有している場合、どのように私はそのIdのユーザー名とユーザー設定を返すだけですか? – mimickd

+0

userIDが 'db.Usernames.Where(m => m.ID == userID)のシングルユーザを選択するためのものです.FirstOrDefault();' –

関連する問題