0

AD でユーザーの更新に問題がある

私のモデル:

public class UserModel
{
    ....
    [ScaffoldColumn(false)]
    [DisplayName("Fødselsdag")]
    [DataType(DataType.Date)]
    [NotMapped]
    public DateTime extensionAttribute1_date
    {
    get
    {
         try
         {
              return DateTime.Parse(extensionAttribute1);
         }
         catch (Exception e)
         {
              return new DateTime();
          }
      }
      set { }
    }
    }

私のコントローラー:

[HttpPost]
        public ActionResult Edit(string sAMAccountName, FormCollection collection, UserModel data)
        {
            if (ModelState.IsValid)
            {
                var config = new LdapConfiguration();
                config.ConfigureFactory("domain.local").AuthenticateAs(new NetworkCredential("xxxx", "xxxxx"));
                using (var context = new DirectoryContext(config))
                {
                    var user = context.Query(new UserModel(), "OU=users,OU=xxx,DC=xxx,DC=dk", "User").FirstOrDefault(d => d.sAMAccountName == sAMAccountName);

                    if (user == null) return RedirectToAction("Index");

                    user.title = data.title;
                    user.mobile = data.mobile;
                    user.homePhone = data.homePhone;
                    user.streetAddress = data.streetAddress;
                    user.postalCode = data.postalCode;
                    user.l = data.l;
                    user.department = data.department;
                    user.physicalDeliveryOfficeName = data.physicalDeliveryOfficeName;
                    user.extensionAttribute1 = data.extensionAttribute1_date.ToLongDateString();

                    context.Update(user);
                }

                return RedirectToAction("Index");
            }

            return View();
        }

Edit Action に送信すると、エラーが発生します: 要求された属性が存在しません。

モデルから extensionAttribute1_date を削除すると、正常に更新されます。

計算された属性を更新から除外するにはどうすればよいですか?

モデルには、計算される年齢などの他の属性があります。これは間違った手順ですか?

/マイケル

4

0 に答える 0