Activator.CreateInstance抛出“不支持关键字”异常

时间:2013-07-08 20:57:59

标签: c# unit-of-work activator

我遇到以下异常:

keyword not supported: 'name'.

由以下代码的第2行引起:

var attr = (ContextAttribute)Attribute.GetCustomAttributes(typeof (TEntity),typeof (ContextAttribute)).FirstOrDefault();
context = (DbContext)Activator.CreateInstance(attr.ContextType);

attr.ContextType是一个Type,不是null。在由attr.ContextType表示的类中,我注意到“Name”是该类的属性,但已被注释掉。我不知道这是不是一个红鲱鱼 - 我注意到这个错误非常具体地提到了一个小写的名字,但是当它没有被注释掉时,属性是一个资本。

代码的意图是从UnitOfWork加载存储库,如果这很重要。

另外,如果它很重要,我没有写这个代码,所以它可能是明显的显而易见的东西。我不太熟悉在这部分代码中使用的EntityFramework和依赖注入。我恰好依赖于此代码正常工作以使我的代码得以执行。

1 个答案:

答案 0 :(得分:0)

Keyword not supported: 'version'。我想你可能遇到同样的问题。检查数据库连接字符串?