【发布时间】:2010-10-15 18:46:27
【问题描述】:
嗨,我有这个类来实例化 DAL 类:
public class Factory
{
public static T GetInstance<T>() where T : new()
{
return new T();
}
}
我想让我的应用程序能够使用多个数据库。我计划在我的 web.config 中设置数据库,然后将该设置传递给工厂类,在那里它将返回正确的 DAL 类。我认为我的方法还可以,我只是在如何实现它的同时保持其通用性。
可能是这样的:
public class Factory
{
private static readonly string dbType = ConfigurationSettings.Appsettings["SqlServer"];
public static T GetInstance<T>() where T : new()
{
switch(dbType)
{
case "SqlServer":
return new T(); //Not sure what to put here.
break;
case: "MySql":
return new T();
break;
default: "No datasource";
}
}
}
如果有人可以帮助或指出正确的方向,那就太好了。
提前致谢。
【问题讨论】:
-
是的。特别是通过 LINQ 给出的所有示例。