Microsoft.AspNet.Identity.EntityFramework - حقول معرف المستخدم ومعرف الدور
-
20-12-2019 - |
سؤال
microsoft.aspnet.identity.entityframework - الكائنات userentity و roleidenity لها حقول معرف من سلسلة النوع ، وبالتالي فإن الجداول التي تم إنشاؤها لها أنواع بيانات nvarchar (128).
ألا ينبغي أن تكون خصائص معرف هذه الكائنات من النوع System.Guid وقاعدة البيانات تحتوي على أنواع بيانات ذات معرف فريد؟لماذا ليسوا كذلك؟يتم إدراج المعرف الفريد العمومي (GUID) عند إنشاء المستخدم والدور الجديد.
نصائح أخرى
على الأرجح لأن API هو موفر التخزين المستقل بحيث يحتفظ بأنواع الحقول كعامية قدر الإمكان: http://blogs.msdn.com/b/webdev/archive/2013/06/27/ Retroducing-asp-net-imentity-membership-system-for-asp-net-applications.aspx
"إذا كانت متطلبات التطبيق الخاصة بك هي أن هذه المعلومات قد يتم تخزينها في آلية تخزين مختلفة مثل خدمة SharePoint، خدمة طاولة Azure، لا توجد قواعد بيانات SQL وما إلى ذلك، فمن الممكن الآن توصيل مقدمي تخزين مختلف."
قد يكون السبب الآخر لمعرف مستخدم السلسلة هو أن السلاسل يتم ترميزها بشكل ثابت في واجهة برمجة تطبيقات المطالبات، على وجه التحديد، Microsoft.AspNet.Identity.IdentityExtensions.GetUserId
, ، الذي يستخدم System.Security.Claims.Value
, وكلاهما يقوم بإرجاع السلاسل.