問題描述IdentityUserClaim實例化和類型轉換錯誤
我最近升級從Beta 6我的ASP.NET應用5至8公測我遇到的幾個問題,但是這一個平坦的東西殘留着我。我遇到了以下錯誤:
Using the generic type IdentityUserClaim<TKey>' requires 1 type argument SampleProject.DNX 4.5.1
代碼
IdentityUserClaim<string> IdentityUserClaimString = await applicationDbContext.UserClaims.SingleAsync(c => c.Id == claimId);
IdentityUserClaim identityUserClaim = new IdentityUserClaim();
identityUserClaim.Id = IdentityUserClaimString.Id;
identityUserClaim.ClaimType = IdentityUserClaimString.ClaimType;
identityUserClaim.ClaimValue = IdentityUserClaimString.ClaimValue;
identityUserClaim.UserId = IdentityUserClaimString.UserId;
return (identityUserClaim);
嘗試
我試圖使一個通用類,但通常我儘量不重寫基地包或甚至延長給我們。
據我瞭解錯誤,它希望我將IdentitUserClaim
更改爲例如IdentityUserClaim<int>
。但是,這並不是我對這個庫的理解,也不是在ASP.NET5中使用它直到beta6。我一直在使用它。
所以我的問題是,有沒有什麼辦法可以解決這個問題,而不必徹底重寫我的代碼,或者我將不得不重寫我的自定義標識聲明,因爲有一些代碼規則的變化或強制我沒有意識到在beta6 +包Microsoft.AspNet.Identity.EntityFramework
?
請把我的話說,我有一個用於製作自定義聲明的用例。感謝您的時間,耐心和考慮。
如果我的理解正確,我可以調用IdentityUserClaim,它將等同於我的原始案例。如果是的話,我已經瞭解了更多關於代碼庫的知識,並將重構以將依賴關係和自定義代碼降到最低。對? –
hlyates
這是正確的@ hlyates。 'new IdentityUserClaim()'會導致相同的結果。 –
謝謝主席您的指出和非常翔實的答案。 – hlyates