【发布时间】:2015-08-22 14:29:38
【问题描述】:
我正在为 WinForms 有点像这样的小应用程序构建一个通用存储库:
public interface IRepository<T> where T : class
{
IEnumerable<T> GetAll();
IEnumerable<T> Find(Expression<Func<T, bool>> query);
T GetByID(int id);
void Add(T item);
void Update(T item);
void Delete(T item);
}
我知道很多人不建议使用存储库模式,但在这种情况下可以节省大量代码,因为所有 POCO 都将非常相似并使用接口中声明的所有方法。
这将使用 ServiceStack.OrmLite 实现。
我不想使用ConfigurationManager 来获取连接字符串。什么是实现这一目标的好方法?我考虑过使用BaseRepository 类来初始化静态连接字符串,但我不确定如何实现。
有什么建议吗?
【问题讨论】:
-
为什么不想使用 ConfigurationManager 来管理连接字符串?
-
通常连接字符串由
ConfigurationManager管理并注入Session类。会话实例被进一步注入存储库,因此当您查询数据库时,它就像repo -> session -> execute query -
@DavidKemp 由于其他原因,我不允许发送 App.config 文件。
-
@HMihail - 我很好奇为什么你不能发布 app.config,但是还有其他设置可以确定应用程序的行为
标签: c# repository-pattern ormlite-servicestack