2013-09-25 43 views
1

我將很快開始一個ASP.NET MVC 4項目,實體框架作爲我的ORM和Oracle作爲我的數據庫引擎。.NET MVC4中的.NET成員和Oracle作爲Db的實體框架

我知道爲了讓EF與Oracle一起工作,必須在Oracle中手動創建表,並且必須按列將表映射到表中的實體。

問題是我的應用程序有身份驗證和授權需求,我想知道什麼最簡單的方法是讓.NET成員資格與我的方案一起工作。

我發現this article,但它使用我覺得很貴的第三方軟件。

任何幫助和建議將不勝感激。

+0

你需要額外的幫助嗎? – tonyapolis

+0

不是暫時的,謝謝託尼:) – Ciwan

回答

2

我使用的是Oracle Developer Tools for .NET(ODT),它的幫助很大。最好的部分:它是免費的! ODT包括ODP.NET並將幫助您執行以下操作:

  • 自動設置ASP.NET成員資格表。您需要先創建模式,然後運行提供的腳本。
  • 自動創建並映射EF實體(首先使用數據庫);您不需要手動將表格映射到表格。

有些事情要考慮... 我的會員架構是用於我的應用程序的模式分開。這樣,我可以使用一個成員資格模式來處理可能依賴於不同數據庫(模式/用戶)的多個應用程序。

配置web.config時,請務必將應用程序名稱從「/」更改爲有意義的內容。幾個配置元素引用應用程序名稱,所以一定要改變。成員資格提供程序將自動在成員數據庫模式中創建應用程序記錄。

您的會員架構已創建完成後(用腳本),你需要在web.config文件中的成員資格,配置文件和roleManager元素改變這樣的事情:

<membership defaultProvider="OracleMembershipProvider"> 
    <providers> 
    <clear /> 
    <add name="OracleMembershipProvider" type="Oracle.Web.Security.OracleMembershipProvider, Oracle.Web, Version=4.112.3.0, Culture=neutral, PublicKeyToken=89b483f429c47342" connectionStringName="OraAspNetConnectionString" applicationName="YOUR_APP_NAME" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" passwordFormat="Hashed" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="5" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" passwordStrengthRegularExpression="" /> 
    </providers> 
</membership> 
<profile> 
    <providers> 
    <clear /> 
    <add name="OracleProfileProvider" type="Oracle.Web.Profile.OracleProfileProvider, Oracle.Web, Version=4.112.3.0, Culture=neutral, PublicKeyToken=89b483f429c47342" connectionStringName="OraAspNetConnectionString" applicationName="YOUR_APP_NAME" /> 
    </providers> 
</profile> 
<roleManager enabled="true" defaultProvider="OracleRoleProvider"> 
    <providers> 
    <clear /> 
    <add connectionStringName="OraAspNetConnectionString" applicationName="YOUR_APP_NAME" name="OracleRoleProvider" type="Oracle.Web.Security.OracleRoleProvider, Oracle.Web, Version=4.112.3.0, Culture=neutral, PublicKeyToken=89b483f429c47342" /> 
    </providers> 
</roleManager> 

This link may also help

希望這有助於。