ASP.NET MVC将对象和相关对象插入到2个表中

时间:2010-05-12 12:50:19

标签: asp.net-mvc linq insert

我有两个表:UsersUserOwners。表格UserOwners包含特定用户创建的用户列表(子用户列表) - 或者更确切地说,它包含UserOwnerIDUserID字段。

所以,现在我想在Controller中创建一个新用户......我有这样的东西:

var userOwner = accountRepository.GetUser(User.Identity.Name);
var userOwnerID = userOwner.UserID;

UserReference userReference = new UserReference();
userReference.UserOwnerID = userOwnerID;

if (ModelState.IsValid)
{
    try
    {
        //accountRepository.Add(user);
        //accountRepository.Save();

        return View();
    }
    catch
    {
        return View();
    }
}

将新用户添加到表Users并将UserOwnerUserOwners表匹配的最简单方法是什么。

它是否应该是这样的?

public void Add(User user)
{
     db.Users.InsertOnSubmit(user);
     db.UserReferences.InsertOnSubmit(user.UserReference);
}

public void Save()
{
     db.SubmitChanges();
}

...或者我必须传递两个对象,在添加用户之后我必须读取它的ID并将其分配给userReference对象并将该对象添加到DB中? 如果是这样,如何读取添加的最后一个对象的ID?

谢谢,
ILE

1 个答案:

答案 0 :(得分:0)

除非我误解了您的问题,否则只需将所有者作为财产添加到您的客户模型中。