簡體   English   中英

ASP.NET MVC-將Identity與現有的經過修改的AspNetUsers表一起使用

[英]ASP.NET MVC - Using Identity with existing, modified AspNetUsers table

在我公司,DBA更新我們的SQL Server表以添加列等,並將這些更改推送到產品中。 在我的方案中,我們有一個現有的AspNetUsers表和其他與Identity相關的表。 此現有的AspNetUsers表添加了其他列(名字,姓氏,加入日期),並且id列已更改為int。

我在此現有數據庫之上編寫了一個新的MVC Web Api(VS 2013),並從使用我真正喜歡的Identity的默認Web Api模板開始。 我不能使用代碼優先,因為這些表已經存在並且已經具有這些其他字段。 我不會,也不會讓我的代碼通過Nuget更新數據庫,我也不負責創建數據庫腳本。

我的問題是:如何讓我的代碼與現有的AspNetUsers表一起使用,該表具有注冊用戶時需要捕獲的其他字段? 我已將新屬性添加到ApplicationUser中的IdentityModel.cs中:Identity User。 我還將這些字段添加到了AccountController的Register方法和AccountBindingModel的RegisterBindingModel類中。 注冊用戶時出現的錯誤是“找不到EntityType Phoenix.WebAPI.Models.ApplicationUser的映射和元數​​據信息”,並且由於無法觸摸數據庫,我不知道該如何處理並且不想使用Code-First。

好吧,走着瞧:

在我公司,DBA更新了我們的SQL Server表以添加列

據我了解的IT職位,DBA不應該這樣做。 數據庫建模是分析師的工作。

我不能使用代碼優先,因為這些表已經存在並且已經具有這些其他字段

那是不對的。 您可以在現有數據庫中使用Code-First,它的工作方式也比EDMX好。 EDMX已在EF7中停產。

但是,如果您真的不想使用Code-First,請查看此庫https://github.com/kriasoft/AspNet.Identity可能會有所幫助。

您可以嘗試使用Fluent API將您的實體映射到數據庫表。 流利的api

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM