【问题标题】:Create User and associate with an Entity创建用户并与实体关联
【发布时间】:2015-01-26 14:30:38
【问题描述】:

NET 身份和 MVC5,我希望能够扩展注册的发布操作,以便用户可以注册并创建一个具有用户列表成员的业务类型的新实体,我想将已创建的用户添加到该列表中。

我尝试了多种方法,但我无法做到这一点 - 我认为我缺少一些基本的东西。

    Business business = new Business {name = "XYZ Pty Ltd"}
business.users.add(user)
db.Businesses.Add(business);
db.savechanges();

还有其他各种方式,比如在

之后
var result = await UserManager.CreateAsync(user, model.Password);

这可能吗?

【问题讨论】:

  • 每个企业只有一个用户还是多个?一个用户可以参与多项业务吗?
  • 如果您有用户并且企业有用户导航属性,这应该可以工作....您是否遇到错误或有其他问题?
  • 您能澄清一下您实际尝试过的内容以及给您带来的麻烦吗?通常,以“这可能...”结尾的问题表明您实际上还没有尝试过解决方案,但希望其他人能给您提供有效的代码。
  • 嗨 Andrew 和 deusExCore,感谢您的提示。我意识到我做错了什么,我不太明白。我在做 business.users.add(user);而不是做 user.business = business;我无法保存业务实体。我已经更改了代码,它现在可以工作了。谢谢

标签: c# asp.net-mvc asp.net-identity-2


【解决方案1】:

根据 Andrew Counts 和 deusExCore 的提示 - 我在业务实体和用户或 ApplicationUser 实体之间使用一对多关系。 ApplicationUser 正在使用创建:

var user = new ApplicationUser {...}

然后我试图创建业务实体的实例并将用户添加到列表中。业务实体根本没有被创建。我没有将用户添加到业务实体,而是将业务实体添加到 user.business 属性 - 这实际上是将用户添加到业务实体的列表属性。

例如:

var user = new ApplicationUser {...}
Business business = new Business {...}
user.business = business;

... // rest of the standard code form MS for registration of the user, this will then store the business entity and establish the relationships between the two entities. 

【讨论】:

    猜你喜欢
    • 2014-10-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-21
    相关资源
    最近更新 更多