0

私は機能を持っています:

public void Add(User user)            
{
    var id = WebSecurity.CurrentUserId;
    //add id to FK CUserID 
    context.User.Add(user); 
}

ユーザーデータをデータベースに追加しています。CUserID に id 値を追加するには?

public class User
{
    [key]    
    public int UserID { get; set; }
    public string Name { get; set; }
    public string Surname { get; set; }
    public string E-mail { get; set; }

    public UserProfile CUserID { get; set; }

}

public class UserProfile
{
    [Key]
    [DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
    public int CUserId { get; set; }
    public string UserName { get; set; }
}

編集:私がしようとすると:

user.CUserId = id;

エラーが発生します:

タイプ 'int' を 'Project.Models.UserProfile' に暗黙的に変換することはできません

4

2 に答える 2

0

質問で説明したことを続けて、これを試してください:

public void Add(User user)
{
    using (var context = new MyDbContext())
    {
        var currentUser = context.UserProfile.Single(
            u => u.UserName == System.Web.HttpContext.Current.User.Identity.Name);

        var newUser = new User();
        newUser.Name = user.Name;
        newUser.Surname = user.Surname;
        newUser.Email = user.Email;
        newUser.CUserID = currentUser.CUserId;

        context.User.Add(newUser);
        context.SaveChanges();
    }
}
于 2013-04-03T23:02:14.703 に答える