Breeze BeforeSaveEntity为外键创建新实体
当我尝试创建一个新的时隙时,我想添加userId。它保存了所有内容,但是UserId是一个新的,代码也创建了一个新的用户,而不仅仅是设置外键 调试期间,user.Id正确,timeSlot.user.Id正确Breeze BeforeSaveEntity为外键创建新实体,breeze,Breeze,当我尝试创建一个新的时隙时,我想添加userId。它保存了所有内容,但是UserId是一个新的,代码也创建了一个新的用户,而不仅仅是设置外键 调试期间,user.Id正确,timeSlot.user.Id正确 protected override bool BeforeSaveEntity(EntityInfo entityInfo) { // return false if we don’t want the entity saved.
protected override bool BeforeSaveEntity(EntityInfo entityInfo)
{
// return false if we don’t want the entity saved.
if (entityInfo.Entity.GetType() == typeof(TimeSlot)
&& entityInfo.EntityState == EntityState.Added)
{
var timeSlot = (TimeSlot)entityInfo.Entity;
var user = uow.Users.GetById(userId);
timeSlot.User = user;
return true;
}
else
{
return true;
}
}
抱歉,我不确定您试图完成什么,或者您遇到的具体问题是什么;从不同于ContextProvider的上下文的上下文中获取用户,然后将其分配到新的时间段将在ContextProvider的上下文中将其标记为新。如果这是问题所在,请尝试先像这样附加它。Context.Users.Attachuser;。可能设置timeSlot.UserId=UserId;对你来说会容易些吗?