第一种,效率较高,也是很多开源项目用的方法,使用了贬型
第二种,比较基础,安全性比较高,讲究面向接口的编程,我所以实体对象都继承自统一的接口
#region 数据底层操作架构一
///
/// 用户实体
///
public class User
{
public string UserName { get; set; }
public int Age { get; set; }
}
public class UserRepository : IRepository
{
#region IRepositoryMembers
public User Get(object id)
{
User user = new User { };
return user;
}
public IQueryableGetList()
{
throw new NotImplementedException();
}
#endregion
}
///
/// 数据操作统一接口,它提供一个贬型作为参数,但要求贬型必须是类
///
///
public interface IRepositorywhere T : class
{
///
/// 获取实体
///
/// 主键
///
T Get(object id);
///
/// 得到列表
///
///
IQueryableGetList();
}
#endregion
#region 数据底层操作架构二
class User2 : IDataEntity
{
public string UserName { get; set; }
public int Age { get; set; }
}
///
/// 数据实体统一接口
///
public interface IDataEntity
{
}
///
/// 数据操作统一接口
///
public interface IRepository2
{
///
/// 获取实体
///
/// 主键
///
IDataEntity Get(object id);
///
/// 得到列表
///
///
IQueryableGetList();
}
public class User2Repository : IRepository2
{
#region IRepository2 Members
public IDataEntity Get(object id)
{
throw new NotImplementedException();
}
public IQueryableGetList()
{
throw new NotImplementedException();
}
#endregion
}
#endregion