我可以將Entity Framework與ASP.NET成員資格一起使用嗎?

.net asp.net asp.net-membership entity-framework

我正在創建(實際上,重新創建)一個在MS-Access數據庫中具有現有用戶和其他數據的應用程序。數據將移至SQL Server,其中一部分涉及遷移用戶。我想使用EF來做ORM,我很確定我知道SQL Server中的數據模型是什麼。我是EF的新手,但不是ASP.NET的新手,我想利用ASP.NET中的Membership功能。我正在考慮幾種方法,並希望得到一些建議。到目前為止,我對這個想法只進行了一些研究,也許它已經在其他地方得到了回答。所以,這裡有一組相關的問題。

  1. EF可以通過我不知道的某個類或命名空間直接使用ASP.NET Membership嗎?

  2. 如果我將用戶轉換到Membership系統,要將其userid與其他表中的數據對齊,我應該在aspnet_ *表和DotNetNuke上創建另一組用戶數據表嗎?

  3. 我想避免在我使用用戶標記數據時使用內置Membership功能進行用戶身份驗證並切換到EF上下文的情況。看起來很笨拙,通過進入每一行的成員資格用戶來撤銷用戶信息以綁定到GridView中的列,但也許這就是需要的東西?我是否需要將其複制並在EF中復製成員資格類以進行數據檢索?

  4. 我想可能會為會員實施某種EF提供商,因為可能提供商可能會參與整個EF數據模型。這是瘋狂的談話嗎? (我以前從未寫過自己的提供者)

隨意告訴我,我沒有任何意義。

一般承認的答案

為什麼不反過來呢?您可以為asp.net實現自己的成員資格提供程序,它使用您想要/需要的模型。

如果您需要的功能與內置的asp.net成員資格實現不完全匹配,您可以直接推送自己的提供商。如果您只使用幾個功能,則必須實現幾個方法(您不必為所有方法填充實現)。如果您需要的功能多於其支持的功能,則使用成員資格提供程序可能會妨礙您。


熱門答案

  1. 我們這樣做,但是我們沒有映射成員資格表。您不應該假定使用SQL成員資格提供程序。
  2. 我們映射用戶身份,而不是數據庫ID。微妙但重要。再次,請記住,還有其他成員資格提供程序(例如,域身份驗證)。
  3. 你能澄清一下這個問題嗎?您不需要復制EF模型中的所有成員資格信息,但您需要一個已知身份列表。
  4. 不,不是瘋了,但很難,也許不必要。


許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因
許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因