[英]C# Generic Excel Reader and Entity Framework
我有多个项目,在其中读取一个excel文件,并将其内容放入数据库中。 我该如何使它通用? 我可以在App.config中将实体名称和对象类型指定为字符串,而不是让AddContentsToDatabase引用特定的实体和特定的类型吗?
我查找了带有存储库模式的示例,但无法正确引用dbContext。
代码不同的部分是:
private void AddContentsToDatabase()
{
using(var db = new xEntities())
{
foreach (var k in MyObjectDictionary.Keys)
{
MyObject thisO = new MyObject();
db.Add(thisO);
}
db.SaveChanges();
}
}
在App.config中
<add key="DataParserName" value="XReader" />
在Program.cs中
static void Main()
{
var dependency = GetCorrectDataParser();
dependency.Run()
}
private static IDataParser GetCorrectDataParser()
{
try
{
var classToCreate = ConfigurationManager.AppSettings["DataParserName"];
var type = Type.GetType(classToCreate);
if (type == null) return null;
var dependency = (IDataParser) Activator.CreateInstance(type);
return dependency;
}
catch (Exception ex)
{ throw ex;}
return null;
}
在XReader类中,具有适当的文件解析并将信息放入数据库中。
当还有另一种不同类型的Excel文件要解析时,在App.config中将XReader更改为YReader。 为YReader创建类。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.