繁体   English   中英

C#通用Excel阅读器和实体框架

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM