目标
创建一个新市场并成功添加其经理。
问题
实体验证失败 - 错误如下:
MyApp.Models.Data.Users 验证失败
电子邮件:电子邮件字段是必需的。
PHash :PHash 字段是必需的。
PSalt :PSalt 字段是必需的。
场景
我正在我的应用程序上创建一个市场,我可以为其设置一个经理。换句话说,我将一个已经存在的用户附加到一个市场。我正在尝试通过以下代码执行此操作:
[HttpPost]
public ActionResult Add(Market market)
{
[...]
Market marketBasics = new Market
{
Name = market.Name,
Slug = market.Slug,
Manager = market.ManagerId
};
[...]
User user = new User
{
Id = market.ManagerId
};
db.Markets.Add(marketBasics); // Here I insert all the information
// into "markets" table.
marketBasics.User.Add(user); // Here I (attempts to) insert into
// "users_in_markets"
[...]
}
如您所见,我没有设置用户的Email
,PHash
或者PSalt
— 我没有注册新用户,而是将现有(用户)关联到(新)市场。
所以我问:我该如何解决这个问题?
技术细节
我正在使用实体框架 5 + C# + MySQL。