ASP.NET Идентичность Owin с Entity Framework добавляет следующие таблицы в базе данных:ASP.NET Идентичность создания таблиц и проекта Развязка
ASPNetUsers
ASPNeRoles
ASPNeTokens
ASPNetUserClaims
ASPNetUserLogins
ASPNetUserManagements
ASPNetUserRoles
ASPNetUserSecrets
Может кто-нибудь объяснить мне, где эти имена пришли? Я просмотрел файлы решений и проектов и не видел ссылок на них. Являются ли эти имена настраиваемыми (я имею в виду, когда они сгенерированы - не после того, как они существуют в базе данных)?
Я попробовал эксперимент и добавил новый проект в свое решение ASP.NET MVC 5. Затем я использовал NuGet для установки Microsoft ASP.NET Identity Owin. Затем я добавил Entity Framework 6 в этот проект и создал класс datacontext, который наследуется от DbContext. В этот момент я запустил команду enable-migrations из консоли диспетчера пакетов. Это создало папку Migrations и класс миграции, а также класс Configuration.cs. Все идет нормально. Но когда я запускал команду «add-migration initial», ни одна из таблиц Identity ASP.NET, упомянутых выше, не генерируется.
Однако, когда я выполняю те же шаги в своем проекте MVC, команда add-migration генерирует приведенные выше таблицы. В моем проекте MVC есть класс startup.auth.cs в моей папке App_Start, . Кажется, это ключ, но я просто не уверен, потому что что-то происходит «автоматически-магически», что я, очевидно, не понимаю. Файл startup.auth.cs выглядит так:
.
using Microsoft.AspNet.Identity;
using Microsoft.Owin;
using Microsoft.Owin.Security.Cookies;
using Owin;
namespace AspNetIdentity
{
public partial class Startup
{
// For more information on configuring authentication, please visit http://go.microsoft.com/fwlink/?LinkId=301864
public void ConfigureAuth(IAppBuilder app)
{
// Enable the application to use a cookie to store information for the signed in user
app.UseCookieAuthentication(new CookieAuthenticationOptions
{
AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie,
LoginPath = new PathString("/Account/Login")
});
app.UseExternalSignInCookie(DefaultAuthenticationTypes.ExternalCookie);
}
}
}
Если я хочу, чтобы иметь возможность перенести таблицы ASP.NET тождественного проекта, кроме моего проекта MVC, как я могу это сделать?
возможно дубликат [Как я могу изменить имена таблиц при использовании Visual Studio 2013 Сеть САШ идентичности?] (Http://stackoverflow.com/questions/19460386/how-can-i- change-the-table-names-when-use-visual-studio-2013-aspnet-identity) – Shoe
Я прошу различать: вопрос о том, как изменить имена таблиц, - это не тот же вопрос, как задать вопрос о том, откуда эти имена приходят/возникают. Кроме того, мой вопрос задает вопрос о развязывании, который не является дубликатом упомянутого вопроса. – Jazimov
Ответ может быть тонким, но ответ вы переопределите сущности 'System.Data.Entity.DbModelBuilder'. Я думаю, что можно предположить, что имена таблиц по умолчанию находятся там. Вы можете использовать декомпилятор для подтверждения – Shoe