2012-02-17 111 views
1

過去,我們只是使用默認的asp.net配置來自動添加表和相關代碼。然後稍微更新一下以適應我們的需求,例如某些自定義配置文件提供程序。認證/授權的實體框架

現在我們正在使用MVC3和Entity Framework 4.此外,這次我們使用MySQL作爲數據庫,因爲EF4與所有類型的數據庫良好通信。然後我們有一些問題。

  1. asp.net配置將在web.config中創建一個單獨的連接字符串條目並使用該條目。我們可以使用現有的EDMX模型嗎?

  2. 由於我們不可能在MySQL數據庫中編寫存儲過程,有沒有任何示例代碼設計這些成員資格/配置文件提供程序而不使用存儲過程?

謝謝。


[更新 - 響應馬修勒布朗]

我現在的項目是使用現有的MySQL數據庫,其中已經包含了成員,角色和配置文件的信息。因此,我們不要使用Aspnet_regsql.exe在數據庫中創建新表。我們如何使用現有的數據庫結構來設計這些提供者?

到目前爲止我還沒有想到一個好的解決方案。任何建議將不勝感激。

回答

0

確實可以使用單個數據庫來存放認證表和常規的EF4數據庫。

您可以生成創建所有使用命令行工具aspnet_regsql.exe的的ASP.Net認證表(詳見這裏:http://msdn.microsoft.com/en-us/library/ms229862.aspx)腳本

您還可以修改你的web.config有一個單獨的連接字符串指向你的單個數據庫,但我建議你保留兩行,每行都有他們的名字(和他們的目的),並且只是讓他們指向同一個數據庫。

這會看起來像

<configuration> 
    <connectionStrings> 
    <add name="ApplicationServices" connectionString="data source=.\SQLEXPRESS2008;Integrated Security=SSPI;initial catalog=MyDatabase" providerName="System.Data.SqlClient" /> 
    <add name="MyEntities" connectionString="data source=.\SQLEXPRESS2008;Integrated Security=SSPI;initial catalog=MyDatabase" providerName="System.Data.SqlClient" /> 
    </connectionStrings> 
... 

有關如何處理與MySQL與ASP.Net身份驗證數據庫你的問題中,關於存儲過程,我不知道如何(如果)這工作。

+0

謝謝你的回覆。但是,您提出的解決方案存在一些限制。 MySQL數據庫的表中已經有用戶和角色以及配置文件信息。我們如何構建使用這些現有表而不是創建新表的提供者? 我已經更新了這個問題。 – Blaise 2012-02-18 04:22:58

+0

也許我倒過來理解你的問題?您已擁有會員資格數據庫。它工作嗎? – 2012-02-21 19:09:52

+0

成員數據庫是一個MySQL。我試圖使用存儲在其表中的用戶數據。 – Blaise 2012-02-21 21:37:48