2013-06-12 32 views
-1

我剛剛升級到最新版本的breeze(1.3.5)。我有代碼現在失敗了,正在工作。錯誤:升級後Breeze中的元數據錯誤

/MyApi/PeopleOrg/Metadata的元數據導入失敗;無法處理返回的元數據:不能爲空

這裏是被調用來獲取元數據返回的讀取屬性「名稱」(你將需要格式化這個):

{「綱目」:{」 namespace「:」LeonardoMD.Server.Api.People.Org「,」alias「:」Self「,」d4p1:UseStrongSpatialTypes「:」false「,」xmlns:d4p1「:」http://schemas.microsoft.com/ado/2009/02/edm/annotation「,」xmlns「:」http://schemas.microsoft.com/ado/2009/11/edm「 「cSpaceOSpaceMapping」: 「[[\」 LeonardoMD.Server.Api.People.Org.Person \ 「\ 」LeonardoMD.Server.Api.People.Org.Person \「],[\」 LeonardoMD.Server.Api。 People.Org.PersonPhoneNumber \ 「\ 」LeonardoMD.Server.Api.People.Org.PersonPhoneNumber \「],[\ 」LeonardoMD.Server.Api.People.Org.StaffMember \「,\」 LeonardoMD.Server.Api。 People.Org.StaffMember \ 「],[\」 LeonardoMD.Server.Api.People.Org.Contact \ 「\」 LeonardoMD.Server.Ap i.People.Org.Contact \ 「]」, 「的EntityType」:[{ 「Name」: 「人」, 「重點」:{ 「propertyRef」:{ 「名」: 「ID」}, 「財產」 :[{ 「Name」: 「ID」, 「類型」: 「Edm.Int32」, 「可空」: 「假」, 「d4p1:StoreGeneratedPattern」: 「身份」},{ 「名」: 「GlobalPersonId」,」鍵入 「:」 Edm.Int32" , 「可空」: 「真正的」},{ 「名」: 「用戶ID」, 「類型」: 「Edm.Int32」, 「可空」: 「真正的」},{ 「名」 : 「無效」, 「類型」: 「Edm.Boolean」, 「可空」: 「假」},{ 「名」: 「PrefixId」, 「類型」: 「Edm.Int32」, 「可空」: 「真」 },{ 「名」: 「名字」, 「類型」: 「Edm.String」, 「定長」: 「假」, 「最大長度」: 「25」, 「統一」: 「真正的」, 「可空」:」真正的 「},{」 名 「:」 中間名」, 「類型」: 「Edm.String」, 「定長」: 「假」, 「最大長度」: 「25」, 「統一」: 「真正的」, 「可空」 : 「真」},{ 「名稱」: 「名字」, 「類型」: 「Edm.String」, 「定長」: 「假」, 「最大長度」: 「35」, 「的unicode」: 「真」,」可空 「:」 真正的 「},{」 名 「:」 SuffixId 「 」類型「: 」Edm.Int32「, 」可空「: 」真正的「},{ 」名「: 」電子郵件「, 」類型「:」 Edm.String」, 「定長」: 「假」, 「最大長度」: 「80後」, 「統一」: 「真正的」, 「可空」: 「真正的」},{ 「名」: 「標題」, 「類型」 : 「Edm.String」, 「定長」:「FALS E」, 「最大長度」: 「50」, 「的unicode」: 「真」, 「可爲空的」: 「真」},{ 「名稱」: 「出生日期」, 「類型」: 「Edm.DateTime」, 「可爲空的」 : 「真正的」},{ 「名」: 「SSN」, 「類型」: 「Edm.String」, 「定長」: 「假」, 「最大長度」: 「20」, 「統一」: 「真」,」可空 「:」 真正的 「},{」 名 「:」 別名」, 「類型」: 「Edm.String」, 「定長」: 「假」, 「最大長度」: 「50」, 「統一」: 「真」 「可空」: 「真正的」},{ 「名」: 「GenderId」, 「類型」: 「Edm.Int32」, 「可空」: 「真正的」},{ 「名」: 「僱主」, 「類型」 : 「Edm.String」, 「定長」: 「假」, 「最大長度」: 「100」, 「統一」: 「真正的」, 「可空」: 「真正的」},{ 「名」: 「職業」,」類型 「:」 Edm.String」, 「定長」: 「假」, 「最大長度」: 「100」, 「統一」: 「真正的」, 「可空」: 「真正的」},{ 「名」: 「NPI」 「類型」: 「Edm.String」, 「定長」: 「假」, 「最大長度」: 「50」, 「的unicode」: 「真」, 「可爲空的」: 「真」},{ 「名稱」:」 NPIGroup」, 「類型」: 「Edm.String」, 「定長」: 「假」, 「最大長度」: 「10」, 「統一」: 「真正的」, 「可空」: 「真正的」},{ 「名」 : 「UPIN」, 「類型」: 「Edm.String」, 「定長」: 「假」, 「最大長度」: 「50」, 「的unicode」: 「真」, 「可爲空的」: 「真」},{」命名 「:」 TaxIdNumber」, 「類型」: 「Edm.String」 「定長」: 「假」, 「最大長度」: 「80後」, 「統一」: 「真正的」, 「可空」: 「真正的」},{ 「名」: 「TaxIdTypeId」, 「類型」:「EDM。 INT32" , 「可空」: 「真正的」},{ 「名」: 「SpecialtyId」, 「類型」: 「Edm.Int32」, 「可空」: 「真正的」},{ 「名」: 「StateLicenseNumber」,」類型 「:」 Edm.String」, 「定長」: 「假」, 「最大長度」: 「50」, 「統一」: 「真正的」, 「可空」: 「真正的」},{ 「名」: 「StateLicenseNumberStateId」 , 「類型」: 「Edm.Int32」, 「可空」: 「真正的」},{ 「名」: 「DEA」, 「類型」: 「Edm.String」, 「定長」: 「假」, 「最大長度」 : 「50」, 「的unicode」: 「真」, 「可爲空的」: 「真」},{ 「名稱」: 「CommercialNumber」, 「類型」: 「Edm.String」, 「定長」: 「假」,」最大長度 「:」 30" , 「統一」: 「真正的」, 「可空」: 「真正的」},{ 「名」: 「CommercialGroupNumber」, 「類型」: 「Edm.String」, 「定長」: 「假」 「最大長度」: 「30」, 「的unicode」: 「真」, 「可爲空的」: 「真」},{ 「名稱」: 「medicareNumber屬性」, 「類型」: 「Edm.String」, 「定長」:」假」, 「最大長度」: 「50」, 「統一」: 「真正的」, 「可空」: 「真正的」},{ 「名」: 「MedicareGroupNumber」, 「類型」: 「Edm.String」, 「定長」 : 「假」, 「最大長度」: 「30」, 「的unicode」: 「真」, 「可爲空的」: 「真」},{「N AME 「:」 MedicaidNumber」, 「類型」: 「Edm.String」, 「定長」: 「假」, 「最大長度」: 「50」, 「的unicode」: 「真」, 「可爲空的」: 「真」}, { 「名」: 「MedicaidGroupNumber」, 「類型」: 「Edm.String」, 「定長」: 「假」, 「最大長度」: 「30」, 「統一」: 「真正的」, 「可空」: 「真」 },{ 「名稱」: 「BlueShieldNumber」, 「類型」: 「Edm.String」, 「定長」: 「假」, 「最大長度」: 「50」, 「的unicode」: 「真」, 「可爲空的」:」真正的 「},{」 名 「:」 BlueShieldGroupNumber」, 「類型」: 「Edm.String」, 「定長」: 「假」, 「最大長度」: 「30」, 「統一」: 「真正的」, 「可空」 : 「真正的」},{ 「名」: 「BlueCrossNumber」, 「類型」:「EDM。字符串 「 」定長「: 」假「, 」最大長度「: 」50「, 」統一「: 」真正的「, 」可空「: 」真正的「},{ 」名「: 」BlueCrossGroupNumber「, 」類型「:」 Edm.String」, 「定長」: 「假」, 「最大長度」: 「30」, 「統一」: 「真正的」, 「可空」: 「真正的」},{ 「名」: 「CHAMPUSNumber」, 「類型」 : 「Edm.String」, 「定長」: 「假」, 「最大長度」: 「50」, 「統一」: 「真正的」, 「可空」: 「真正的」},{ 「名」: 「評論」,」類型 「:」 Edm.String」, 「定長」: 「假」, 「最大長度」: 「3000」, 「統一」: 「真正的」, 「可空」: 「真正的」},{ 「名」: 「已覈實」 , 「類型」: 「Edm.Boolean」, 「可空」: 「真正的」},{ 「名」: 「CreateUserId」, 「類型」: 「Edm.Int32」, 「可空」: 「真正的」},{」命名 「:」 CREATEDATE 「 」類型「: 」Edm.DateTime「, 」可空「: 」真正的「},{ 」名「: 」ModifyUserId「, 」類型「: 」Edm.Int32「, 」可空「:」真正的 「},{」 名稱 「:」 ModifyDate」, 「類型」: 「Edm.DateTime」, 「可爲空的」: 「假」}], 「navigationProperty」:{ 「名稱」: 「PHONENUMBERS」, 「關係」: 「Self.Person_PhoneNumbers」, 「fromRole」: 「Person_PhoneNumbers_Source」, 「toRole」: 「Person_PhoneNumbers_Target」}},{ 「名稱」: 「PersonPhoneNumber」, 「關鍵」:{ 「propertyRef」:[{ 「名稱」:「PERSONID 「},{」 名 「:」 響度單位eTypeId 「}]},」 屬性 「:[{」 名稱 「:」 PERSONID 「 」類型「: 」Edm.Int32「, 」可爲空的「: 」假「},{ 」名稱「: 」PhoneTypeId「,」 類型「:」 Edm.Int32" , 「可爲空的」: 「假」},{ 「名稱」: 「******中國」, 「類型」: 「Edm.String」, 「定長」: 「假」, 「最大長度」:「70 」, 「統一」: 「真正的」, 「可空」: 「真正的」},{ 「名」: 「擴展名」, 「類型」: 「Edm.String」, 「定長」: 「假」, 「最大長度」: 「10」, 「的unicode」: 「真」, 「可爲空的」: 「真」},{ 「名稱」: 「OtherDescription」, 「類型」: 「Edm.String」, 「定長」: 「假」,「最大長度「:」 25" , 「統一」: 「真正的」, 「可空」: 「真正的」}]},{ 「名」: 「StaffMember」, 「重點」:{ 「propertyRef」:{ 「名」:「ID 「},」 屬性 「:[{」 Name 「:」 ID 「 」類型「: 」Edm.Int32「, 」可空「: 」假「, 」d4p1:StoreGeneratedPattern「: 」身份「},{」 名稱「:」 PERSONID 「 」類型「: 」Edm.Int32「, 」可空「: 」假「},{ 」名「: 」無效「, 」類型「: 」Edm.Boolean「, 」可空「:」 真「},{」 名 「:」 StaffMemberTypeId」, 「類型」: 「Edm.Int32」, 「可空」: 「真正的」},{ 「名」: 「提供者」, 「類型」: 「Edm.Boolean」 「可空」: 「真正的」},{ 「名」: 「AllowScheduling」, 「類型」: 「Edm.Boolean」, 「可空」: 「真正的」},{ 「名」: 「協調員」, 「類型」: 「E dm.Boolean 「 」可空「: 」真正的「},{ 」名「: 」MobileEmail「, 」類型「: 」Edm.String「, 」定長「: 」假「, 」最大長度「: 」80後「,」統一 「:」 真正的 「 」可空「: 」真正的「},{ 」名「: 」EmailNotificationId「, 」類型「: 」Edm.Int32「, 」可空「: 」真正的「},{ 」名「:」 EmailSignature」, 「類型」: 「Edm.String」, 「定長」: 「假」, 「最大長度」: 「1000」, 「統一」: 「真正的」, 「可空」: 「真正的」},{ 「名」 : 「CLIANumber」, 「類型」: 「Edm.String」, 「定長」: 「假」, 「最大長度」: 「30」, 「的unicode」: 「真」, 「可爲空的」: 「真」},{」命名 「:」 HospiceEmployed 「 」類型「: 」Edm.Boolean「, 」可空「: 」真正的「},{ 」名「: 」SignatureOnFile「, 」類型「: 」Edm.Boolean「, 」可空「:」真正的 「},{」 名 「:」 簽名」, 「類型」: 「Edm.String」, 「定長」: 「假」, 「最大長度」: 「100」, 「統一」: 「真正的」, 「可空」 : 「真」},{ 「名稱」: 「BillingNameOld」, 「類型」: 「Edm.String」, 「定長」: 「假」, 「最大長度」: 「50」, 「的unicode」: 「真」,」可空 「:」 真正的 「},{」 名 「:」 BillingEntityTypeId 「 」類型「: 」Edm.Int32「, 」可空「: 」真正的「},{ 」名「: 」BillingPrefixId「, 」類型「:」 Edm.Int32" , 「可空」: 「真正的」},{ 「名」: 「BillingFirstName」, 「類型」: 「Edm.String」 「定長」: 「假」, 「最大長度」: 「25」, 「統一」: 「真正的」, 「可空」: 「真正的」},{ 「名」: 「BillingMiddleName」, 「類型」:「EDM。字符串 「 」定長「: 」假「, 」最大長度「: 」25「, 」統一「: 」真正的「, 」可空「: 」真正的「},{ 」名「: 」BillingLastName「, 」類型「:」 Edm.String」, 「定長」: 「假」, 「最大長度」: 「35」, 「統一」: 「真正的」, 「可空」: 「真正的」},{ 「名」: 「BillingSuffixId」, 「類型」 : 「Edm.Int32」, 「可空」: 「真正的」},{ 「名」: 「BillingAddressLine1」, 「類型」: 「Edm.String」, 「定長」: 「假」, 「最大長度」: 「55」 「統一」: 「真正的」, 「可空」: 「真正的」},{ 「名」: 「BillingAddressLine2」, 「類型」: 「Edm.String」, 「定長」: 「假」, 「最大長度」:」 55" , 「統一」: 「真正的」, 「可空」: 「真正的」},{ 「名」: 「結算城市」, 「類型」: 「Edm.String」, 「定長」: 「假」, 「最大長度」 : 「30」, 「的unicode」: 「真」, 「可爲空的」: 「真」},{ 「名稱」: 「BillingStateId」, 「類型」: 「Edm.Int32」, 「可爲空的」: 「真」}, { 「名」: 「BillingState」, 「類型」: 「Edm.String」, 「定長」: 「假」, 「最大長度」: 「50」, 「統一」: 「真正的」, 「可空」: 「真」 },{ 「名」: 「BillingPostalCode」, 「類型」: 「Edm.String」, 「定長」:「假」, 「最大長度」: 「15」, 「的unicode」: 「真」, 「可爲空的」: 「真」},{ 「名稱」: 「BillingCountryId」, 「類型」: 「Edm.Int32」, 「可爲空的」: 「真」},{ 「名」: 「BillingPhoneNumber」, 「類型」: 「Edm.String」, 「定長」: 「假」, 「最大長度」: 「70」, 「統一」: 「真正的」,「可空「:」 真 「},{」 名稱 「:」 BillingExtension」, 「類型」: 「Edm.String」, 「定長」: 「假」, 「最大長度」: 「10」, 「的unicode」: 「真」, 「可空」: 「真正的」},{ 「名」: 「PayToSameAsBilling」, 「類型」: 「Edm.Boolean」, 「可空」: 「真正的」},{ 「名」: 「PayToEntityTypeId」, 「類型」: 「Edm.Int32」, 「可空」: 「真正的」},{ 「名」: 「PayToPrefixId」, 「類型」: 「Edm.Int32」, 「可空」: 「真正的」},{ 「名」:「PayToFirstName 」, 「類型」: 「Edm.String」, 「定長」: 「假」, 「最大長度」: 「25」, 「統一」: 「真正的」, 「可空」: 「真正的」},{ 「名」: 「PayToMiddleName」, 「類型」: 「Edm.String」, 「定長」: 「假」, 「最大長度」: 「25」, 「統一」: 「真正的」, 「可空」: 「真正的」},{「名稱「:」 PayToLastName」, 「類型」: 「Edm.String」, 「定長」: 「假」, 「最大長度」: 「35」, 「的unicode」: 「真」, 「可爲空的」: 「真」},{ 「名」: 「PayToSuffixId」, 「類型」:「EDM。INT32" , 「可空」: 「真正的」},{ 「名」: 「PayToAddressLine1」, 「類型」: 「Edm.String」, 「定長」: 「假」, 「最大長度」: 「55」, 「統一」 : 「真正的」, 「可空」: 「真正的」},{ 「名」: 「PayToAddressLine2」, 「類型」: 「Edm.String」, 「定長」: 「假」, 「最大長度」: 「55」,」統一 「:」 真正的」, 「可空」: 「真正的」},{ 「名」: 「PayToCity」, 「類型」: 「Edm.String」, 「定長」: 「假」, 「最大長度」: 「30」 「統一」: 「真正的」, 「可空」: 「真正的」},{ 「名」: 「PayToStateId」, 「類型」: 「Edm.Int32」, 「可空」: 「真正的」},{ 「名」 : 「PayToState」, 「類型」: 「Edm.String」, 「定長」: 「假」, 「最大長度」: 「50」, 「的unicode」: 「真」, 「可爲空的」: 「真」},{」命名 「:」 PayToPostalCode」, 「類型」: 「Edm.String」, 「定長」: 「假」, 「最大長度」: 「15」, 「統一」: 「真正的」, 「可空」: 「真正的」}, { 「名」: 「PayToCountryId」, 「類型」: 「Edm.Int32」, 「可空」: 「真正的」},{ 「名」: 「PayToPhoneNumber」, 「類型」: 「Edm.String」, 「定長」 : 「假」, 「最大長度」: 「70」, 「統一」: 「真正的」, 「可空」: 「真正的」},{ 「名」: 「PayToExtension」, 「類型」: 「Edm.String」,」定長 「:」 假 「 」最大長度「: 」10「, 」統一「: 」真正的「, 」可空「: 」真正的「},{ 」名「:」 P ayToNPI」, 「類型」: 「Edm.String」, 「定長」: 「假」, 「最大長度」: 「11」, 「統一」: 「真正的」, 「可空」: 「真正的」},{ 「名」 : 「PayToTaxIdNumber」, 「類型」: 「Edm.String」, 「定長」: 「假」, 「最大長度」: 「30」, 「的unicode」: 「真」, 「可爲空的」: 「真」},{」命名 「:」 PayToTaxIdTypeId 「 」類型「: 」Edm.Int32「, 」可空「: 」真正的「},{ 」名「: 」VirtuosoEMRGroupId「, 」類型「: 」Edm.Int32「, 」可空「:」真正的 「},{」 名 「:」 VirtuosoEMRDefaultLocationId」, 「類型」: 「Edm.Int32」, 「可空」: 「真正的」},{ 「名」: 「CreateUserId」, 「類型」: 「Edm.Int32」 「可空」: 「真正的」},{ 「名」: 「CREATEDATE」, 「類型」: 「Edm.DateTime」, 「可空」: 「真正的」},{ 「名」: 「ModifyUserId」, 「類型」 : 「Edm.Int32」, 「可爲空的」: 「真」},{ 「名稱」: 「ModifyDate」, 「類型」: 「Edm.DateTime」, 「可爲空的」: 「真」}]},{ 「名」 : 「聯繫人」, 「重點」:{ 「propertyRef」:{ 「名」: 「ID」}, 「屬性」:[{ 「Name」: 「ID」, 「類型」: 「Edm.Int32」,」可空 「:」 假」, 「d4p1:StoreGeneratedPattern」: 「身份」},{ 「名」: 「PERSONID」, 「類型」: 「Edm.Int32」, 「可空」: 「假」},{ 「名」 : 「無效」, 「類型」: 「Edm.Boolean」, 「可空」: 「真正的」},{ 「名」: 「ContactTypeId」, 「類型」: 「Edm.Int32」 「可空」: 「真正的」},{ 「名」: 「PrimaryPhysician」, 「類型」: 「Edm.Boolean」, 「可空」: 「真正的」},{ 「名」: 「CreateUserId」, 「類型」 : 「Edm.Int32」, 「可空」: 「真正的」},{ 「名」: 「CREATEDATE」, 「類型」: 「Edm.DateTime」, 「可空」: 「真正的」},{ 「名」:」 ModifyUserId」, 「類型」: 「Edm.Int32」, 「可空」: 「真正的」},{ 「名」: 「ModifyDate」, 「類型」: 「Edm.DateTime」, 「可空」: 「真正的」}] }], 「關聯」:{ 「名稱」: 「Person_PhoneNumbers」, 「結束」:[{ 「角色」: 「Person_PhoneNumbers_Source」, 「類型」: 「Edm.Self.Person」, 「多重」: 「1」, 「onDelete」:{ 「動作」: 「級聯」}},{ 「角色」: 「Person_PhoneNumbers_Target」, 「類型」: 「Edm.Self.PersonPhoneNumber」, 「多重」: 「*」}], 「referentialConstraint」: { 「校長」:{ 「角色」: 「Person_PhoneNumbers_Source」, 「propertyRef」:{ 「名」: 「ID」}, 「依賴」:{ 「角色」: 「Person_PhoneNumbers_Target」, 「propertyRef」:{ 「名」 : 「PERSONID」}}}}, 「EntityContainer相關」:{ 「名」: 「PeopleOrgDbContext」, 「EntitySet的」:[{ 「Name」: 「人物」, 「的EntityType」: 「Self.Person」},{「名稱「:」 PersonPhoneNumbers 「 」的EntityType「: 」Self.PersonPhoneNumber「},{ 」名「: 」StaffMembers「, 」的EntityType「:」 Self.S taffMember 「},{」 名稱 「:」 聯繫人 「 」的EntityType「: 」Self.Contact「}], 」associationSet「:{ 」名稱「: 」Person_PhoneNumbers「, 」關聯「: 」Self.Person_PhoneNumbers「,」 端「:[{」role「:」Person_PhoneNumbers_Source「,」entitySet「:」People「},{」role「:」Person_PhoneNumbers_Target「,」entitySet「:」PersonPhoneNumbers「}]}}}}

Any idea what可能造成這種情況?

回答

0

我想出瞭如何解決這個問題,但我不知道它爲什麼需要。我發現微風代碼在處理Person類和PersonPhoneNumber類之間的關聯時失敗了。我在Person類的PhoneNumbers屬性中添加了實體框架[InverseProperty(「Phone」)]屬性,並在PersonPhoneNumber類的PersonId屬性上添加了ForiegnKey(「Phone」)指定,並添加了Phone類型的新Phone屬性在PersonPhoneNumber類中。

我想上課:確保顯式定義實體框架模型中兩個類中的關聯端點。

0

當您在導入期間收到錯誤時,導入的元數據是否使用以前版本的Breeze導出? 我問的原因是元數據可能因各種原因而從一個版本變爲另一個版本,其中一個原因是我們正在增加對NoSQL的支持,並且他們有新的元數據形式。

如果以上情況並非如此,您能否提供涉及問題的2個實體的定義以及您的導入/導出代碼。通過這種方式,我們可以嘗試在此處重現問題,並在確定它是錯誤時進行修復。

謝謝。