0
如果使用Microsoft.Practices.EnterpriseLibrary,它使用web.config文件來設置數據庫配置和連接。這將如何與MVC6 .Net Core/Vnext一起工作?爲了得到這個工作?是否需要在啓動文件上設置?企業庫數據庫從web.config連接到Asp.net 5.0 Core vnext MVC6
的Web.Config
<configSections>
<section name="dataConfiguration" type="Microsoft.Practices.EnterpriseLibrary.Data.Configuration.DatabaseSettings, Microsoft.Practices.EnterpriseLibrary.Data, Version=6.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false" />
</configSections>
<dataConfiguration defaultDatabase="MyDBConnectionString" />
<connectionStrings>
<add name="MyDBConnectionString" connectionString="Data Source=MyDatabaseServer;Database=MyDatabase; Integrated Security=SSPI;" providerName="System.Data.SqlClient" />
</connectionStrings>
appsettings.json
{
"Data": {
"dataConfiguration": {
"type":"Microsoft.Practices.EnterpriseLibrary.Data.Configuration.DatabaseSettings, Microsoft.Practices.EnterpriseLibrary.Data, Version=6.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35",
"requirePermission": "false"
},
"DefaultConnection": {
"ConnectionString": "Data Source=MyDatabaseServer;Database=MyDatabase; Integrated Security=SSPI;",
"providerName": "System.Data.SqlClient"
}
},
數據訪問
public static Model.Record GetRecordByID(Int32 ID)
{
//Declare the variables
Amendment obj = new Record();
object xml = null;
DbCommand dbCmd = null;
Database db = null;
try
{
// Create the database object, using the default database service. The
// default database service is determined through configuration.
DatabaseProviderFactory factory = new DatabaseProviderFactory(new SystemConfigurationSource());
DatabaseFactory.SetDatabaseProviderFactory(factory, false);
db = DatabaseFactory.CreateDatabase();
dbCmd = db.GetStoredProcCommand("spXMLGetRecordByID");
db.AddInParameter(dbCmd, "RecordID", DbType.Int32, ID);
db.AddInParameter(dbCmd, "@xml", DbType.Xml, 1);
if (!xml.Equals(DBNull.Value))
{
obj = (Amendment)Deserialize(xml.ToString(), typeof(Record));
}
}
catch (SqlException sqlEx)
{
// ExceptionUtility.SendError(sqlEx, "DAL", "GetRecordByID");
}
catch (Exception ex)
{
//ExceptionUtility.SendError(ex, "DAL", "GetRecordByID");
}
finally
{
// DALCleanUp(db, dbCmd);
}
return obj;
}
當我碰到代碼行db = DatabaseFactory.CreateDatabase();我收到錯誤「配置文件沒有定義默認數據庫。」 – wolfeh
這不適用於我企業庫數據庫無法定義默認數據庫。 – wolfeh
對不起。我以爲你只需要一些關於如何使用ASP.NET Core應用程序設置的信息。對於需要XML的企業庫屬性,可以使用XmlSerializer類將配置類轉換爲XML。 –