在值对象中插入数据 Table

Insert data in Value Object Table

正在通过 POSTMAN 插入数据,但出现了一些错误。

我的代码如下:

public async Task<BusinessProfile> Save(string ID,bool Status,string Logo,string TaxNumber,string StateRegisterNumber,string StreetName,string Number
            ,string Complement,string PostalCode,string Neighborhood,string City,string State,string AreaCode,string Department
            ,string PhoneNo,string Type,string Website,string EDepartment,string EmailAddress)
        {

            try
            {
                int EnumPhoneNumber = 0;
                string[] values = Enum.GetNames(typeof(PhoneNumberEnum.PhoneNumber));

                if (values[0] == Type)
                {
                    EnumPhoneNumber = (int)PhoneNumber.FixedPhone;
                }
                else if (values[1] == Type)
                {
                    EnumPhoneNumber = (int)PhoneNumber.MobilePhone;
                }

                var businessProfile = new BusinessProfile() { ID = ID, Status = Status, Logo = Logo, TaxNumber = TaxNumber, StateRegisterNumber = StateRegisterNumber, Website = Website };
                businessProfile.AssignAddress(new Address(StreetName, Number, Complement, PostalCode, Neighborhood, City, State));
                businessProfile.AssignPhones(new Phones(Convert.ToString(EnumPhoneNumber), AreaCode, PhoneNo, Department));
                businessProfile.AssignEmail(new Emails(EmailAddress, EDepartment));

                //_db.Add(businessProfile);


                Microsoft.EntityFrameworkCore.ChangeTracking.EntityEntry<BusinessProfile> x = await _db.AddAsync(businessProfile);

                // _db.SaveChanges();


                //await _db.BusinessProfiles.AddAsync(businessProfile);
                await _db.SaveChangesAsync();
                return businessProfile;
            }
            catch(Exception ex)
            {
                throw ex;
            }


        }

输出(错误:):

An unhandled exception occurred while processing the request.

InvalidOperationException: BusinessProfile 类型的实体正在与 Address 类型的实体共享 table BusinessProfiles,但没有此实体使用已标记为 Added 的相同键值键入。考虑使用 DbContextOptionsBuilder.EnableSensitiveDataLogging 查看键值。

public 异步任务保存(BusinessProfile bp) { 尝试 { int 枚举电话号码 = 0; 字符串 [] 值 = Enum.GetNames(typeof(PhoneNumberEnum.PhoneNumber));

            if (values[0] == bp.Phones.Type)
            {
                EnumPhoneNumber = (int)PhoneNumber.FixedPhone;
            }
            else if (values[1] == bp.Phones.Type)
            {
                EnumPhoneNumber = (int)PhoneNumber.MobilePhone;
            }

            var businessProfile = new BusinessProfile() { ID = bp.ID, IsActive = bp.IsActive, Logo = bp.Logo, TaxNumber = bp.TaxNumber, StateRegisterNumber = bp.StateRegisterNumber, Website = bp.Website };
            businessProfile.Address = new Address(bp.Address.StreetName, bp.Address.Number, bp.Address.Complement, bp.Address.PostalCode, bp.Address.Neighborhood, bp.Address.City, bp.Address.State);
            businessProfile.Phones = new Phones(Convert.ToString(EnumPhoneNumber), bp.Phones.AreaCode, bp.Phones.PhoneNumber, bp.Phones.Department);
            businessProfile.Emails = new Emails(bp.Emails.EmailAddress, bp.Emails.Department);

            Microsoft.EntityFrameworkCore.ChangeTracking.EntityEntry<BusinessProfile> x = await _db.AddAsync(businessProfile);
            await _db.SaveChangesAsync();
            return businessProfile;
        }
        catch (Exception ex)
        {
            throw ex;
        }
    }