У меня есть модель этой модели:Щеголеватый колонка отображение со свойством в модели, имеющей другое имя и тип
public class Member
{
#region public property
public int Id { get; set; }
public string LastName { get; set; }
public string FirstName { get; set; }
public AccountState AccountState { get; set; }
public GodFatherType GodFatherType { get; set; }
}
AccountState и GodFatherType ли оба 2 eumerates:
public enum AccountState
{
NotActivated = 0,
Activated = 1,
Desactived = 2,
}
public enum GodFatherType
{
Undefined=0,
unknown = 1,
Correct = 2,
}
в базе данных У меня есть Id, LastName, FistName, TinyInt
AccountstateId et smallint
GodFatherTypeid, я не хочу менять свою хранимую процедуру, как я могу сопоставить My class Member
с базой данных ??
На самом деле я получаю только атрибуты только Id, LastName, FistName, когда я исполняю свою хранимую процедуру с этим кодом:
public sealed class DbContext : IDbContext
{
private bool disposed;
private SqlConnection connection;
public DbContext(string connectionString)
{
connection = new SqlConnection(connectionString);
}
public IDbConnection Connection
{
get
{
if (disposed) throw new ObjectDisposedException(GetType().Name);
return connection;
}
}
public IDbTransaction CreateOpenedTransaction()
{
if (connection.State != ConnectionState.Open)
Connection.Open();
return Connection.BeginTransaction();
}
public IEnumerable<T> ExecuteProcedure<T>(string procedure, dynamic param = null, IDbTransaction transaction = null)
{
if (connection.State == ConnectionState.Closed)
{
connection.Open();
}
return Dapper.SqlMapper.Query<T>(connection, procedure, param, transaction,
commandType: CommandType.StoredProcedure);
}
public int ExecuteProcedure(string procedure, dynamic param = null, IDbTransaction transaction = null)
{
if (connection.State == ConnectionState.Closed)
{
connection.Open();
}
return Dapper.SqlMapper.Execute(connection, procedure, param, transaction,
commandType: CommandType.StoredProcedure);
}
public void Dispose()
{
Debug.WriteLine("** Disposing DbContext");
if (disposed) return;
if (connection != null)
{
connection.Dispose();
connection = null;
}
disposed = true;
}
}
Какие столбцы возвращают sproc? Пока что * выглядит * как прямое совпадение - это так же просто, как исправление перечислений? то есть 'public enum AccountState: byte {NotActivated = ...}' и 'public enum GodFatherType: short {...}'? это единственные несоответствия, которые я вижу ... –