Documente Academic
Documente Profesional
Documente Cultură
using using using using System; System.Data; System.Data.SqlClient; System.Collections.Generic; System.Collections.ObjectModel; System.Data.SqlServerCe;
namespace DataAccessLayer { internal class DAL<T> where T : IEntity<T, IDataRecord> { public T Entity = default(T); public Collection<T> Entities = new Collection<T>(); public void GetSingleRow(T entity) { IDataReader myReader = null; IDbConnection mySqlConnection = new SqlConnection(@"Data Source=C:\Users\Administrator\Documents\Visual Studio 2010\Projects\DataAccessLayer\DataAccessLayer\App_Data\LocalData.sdf"); IDbCommand mySqlCommand = new SqlCommand("select * from customers"); mySqlCommand.Connection = mySqlConnection; try { mySqlConnection.Open(); myReader = mySqlCommand.ExecuteReader(); object[] values = new object[myReader.FieldCount]; myReader.GetValues(values); Entity = CreateMappingScalar(entity, values);
public Collection<T> GetMany(T entity) { IDataReader myReader = null; IDbConnection mySqlConnection = new SqlCeConnection(@"Data Source=C:\Users\Administrator\Documents\Visual Studio 2010\Projects\DataAccessLayer\DataAccessLayer\App_Data\LocalData.sdf;"); IDbCommand mySqlCommand = new SqlCeCommand("select id, message from testtable"); mySqlCommand.Connection = mySqlConnection; try { mySqlConnection.Open(); myReader = mySqlCommand.ExecuteReader(); Entities = CreateMappingMany<T, IDataReader>(entity, myReader);
} catch (Exception e) { }
} return Entities;
internal static Collection<T> CreateMappingMany<T, U>(IEntity<T, IDataRecord> entity, IDataReader reader) { return entity.MapMany(reader); } internal static T CreateMappingScalar(IEntity<T, IDataRecord> entity, object[] values) { } } } return entity.Map(values);
namespace BL { public class Class1 : IEntity<Class1, IDataRecord> { public int Id { get; set; } public string Message { get; set; } public Collection<Class1> GetMany() { DAL<Class1> dal = new DAL<Class1>(); return dal.GetMany(this); } public Class1 Map(object[] values) { Class1 cls = new Class1(); cls.Id = (int)values[0]; cls.Message = (string)values[1]; return cls; } public Collection<Class1> MapMany(IDataRecord reader) { IDataReader rd = (IDataReader)reader; Collection<Class1> col = new Collection<Class1>(); while (rd.Read())
} } }
} return col;