PDA

View Full Version : حرفه ای: کاربرد DataProvider درپروژه ها چیست؟



hmahdavi921
سه شنبه 15 دی 1394, 14:16 عصر
سلام
در پروژه ها فایل سی شارپی با این نام وجود داره .دوستان میدونید هدف استفاده از این فایل چیه؟
با تشکر


using System.Data;
using System;
using DotNetNuke.Common.Utilities;
using DotNetNuke.Framework.Providers;


namespace Christoc.Modules.test_module_template.Data
{

/// -----------------------------------------------------------------------------
/// <summary>
/// An abstract class for the data access layer
///
/// The abstract data provider provides the methods that a control data provider (sqldataprovider)
/// must implement. You'll find two commented out examples in the Abstract methods region below.
/// </summary>
/// -----------------------------------------------------------------------------
public abstract class DataProvider
{

#region Shared/Static Methods

private static DataProvider provider;

// return the provider
public static DataProvider Instance()
{
if (provider == null)
{
const string assembly = "Christoc.Modules.test_module_template.Data.SqlData provider,test_module_template";
Type objectType = Type.GetType(assembly, true, true);

provider = (DataProvider)Activator.CreateInstance(objectType) ;
DataCache.SetCache(objectType.FullName, provider);
}

return provider;
}

[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1024:UsePropertiesWhereAppropriate", Justification = "Not returning class state information")]
public static IDbConnection GetConnection()
{
const string providerType = "data";
ProviderConfiguration _providerConfiguration = ProviderConfiguration.GetProviderConfiguration(pro viderType);

Provider objProvider = ((Provider)_providerConfiguration.Providers[_providerConfiguration.DefaultProvider]);
string _connectionString;
if (!String.IsNullOrEmpty(objProvider.Attributes["connectionStringName"]) && !String.IsNullOrEmpty(System.Configuration.Configu rationManager.AppSettings[objProvider.Attributes["connectionStringName"]]))
{
_connectionString = System.Configuration.ConfigurationManager.AppSetti ngs[objProvider.Attributes["connectionStringName"]];
}
else
{
_connectionString = objProvider.Attributes["connectionString"];
}

IDbConnection newConnection = new System.Data.SqlClient.SqlConnection();
newConnection.ConnectionString = _connectionString.ToString();
newConnection.Open();
return newConnection;
}

#endregion

#region Abstract methods

//public abstract IDataReader GetItems(int userId, int portalId);

//public abstract IDataReader GetItem(int itemId);


#endregion

}

}

mdehganr
یک شنبه 11 بهمن 1394, 09:34 صبح
دوست عزیزسلامهدف این فایل تشکیل لایه دیتا برای اتصال به دیتا بیس است که البته در روش جدید DAL2+ این فایل حذف شده است.پیشنهاد :از تمپلیت آماده برای تولید ماژول استفاده نکنید.در صورت نیاز به راهنمایی بیشتر می توانید ایمیل ارسال کنید co_abzar@yahoo.comموفق و پیروز باشید