Je développe un projet (en utilisant l'approche 3 niveaux) dans lequel j'utilise LINQ to SQL ... je veux mettre à jour l'utilisateur ...LINQ to SQL :: Mise à jour des données Problème
mais je suis faire face à un problème. il ne me donne pas d'erreur mais également ne pas mettre à jour le détail de l'utilisateur
voici la séquence du programme;
dans UpdateProfile.aspx
String currentUser = Session["BMUser"].ToString();
String displayName = txtDisplayName.Text;
String username = currentUser;
String emailAddress = txtEmailAddress.Text;
String secretQuestion = txtSecretQuestion.Text;
String secretAnswer = txtSecretAnswer.Text;
if (UserManager.UpdateProfile(username, displayName, emailAddress, secretQuestion, secretAnswer))
{
lblStatus.Text = "Profile Updated";
}
else
lblStatus.Text = "Unable to Update Profile";
la UserManager est BLL classe
public class UserManager
{
public static bool UpdateProfile(String username, String displayName, String emailAddress, String secretQuestion, String secretAnswer)
{
// This method will return BM_User (BM_User in entity class generated by LINQ TO SQL)
BM_User user = UserCatalog.GetUserByName(username);
if (user != null)
{
user.DisplayName = displayName;
user.EmailAddress = emailAddress;
user.SecretQuestion = secretQuestion;
user.SecretAnswer = secretAnswer;
if (UserManagerDAO.UpdateUser(user, false))
{
//HttpContext.Current.Session["BMUser"] = userToUpdate;
return true;
}
else
return false;
}
else
return false;
}
}
et enfin UserManagerDAO
public class UserManagerDAO
{
public static bool UpdateUser(BM_User user, bool changeLoginDateTime)
{
BugManDataContext db = new BugManDataContext();
if (changeLoginDateTime == true)
user.LastLoginDate = DateTime.Now;
db.SubmitChanges();
return true;
}
}
après quand je reçois le détail de cet utilisateur mis à jour. ça me montre les détails précédents. dire qu'il ne soit pas mise à jour le détail de l'utilisateur avec une nouvelle ...
résoudre bien vouloir ce problème
hmm. ok comment résoudre ce problème .... ???? si je fais db.BM_User.Attach (utilisateur), il me donne une erreur. qui ne peut pas attacher cette entité. il est déclaré dans certains où d'autre. ce n'est pas possible. – Mohsan
Je pense que vous devriez regarder à nouveau votre conception de classe, et peut-être gérer un DataContext dans votre classe "UserManagerDAO", aussi GetUserByName (nom d'utilisateur) ne devrait pas être sur votre classe DAO aussi ?? – CMS
La méthode GetUserByName (nom d'utilisateur) fait partie de UserCatalog qui appelle réellement la méthode GetUserByName (nom d'utilisateur) de la classe UserManagerDAO ... – Mohsan