Breeze BeforeSaveEntity为外键创建新实体

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.

当我尝试创建一个新的时隙时,我想添加userId。它保存了所有内容,但是UserId是一个新的,代码也创建了一个新的用户,而不仅仅是设置外键

调试期间,user.Id正确,timeSlot.user.Id正确

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;对你来说会容易些吗?