【发布时间】:2014-04-22 12:02:29
【问题描述】:
我想提高 EF6 的性能。所以我为 c# 添加了模板 EF6 Code First Pre-generated views。运行我的模板时出现此错误
错误 18 运行转换: System.Reflection.TargetInvocationException:已引发异常 通过调用的目标。 ---> System.ArgumentNullException: 值不能为空。参数名称:existingConnection at System.Data.Entity.Utilities.Check.NotNull[T](T 值,字符串 参数名称)在 System.Data.Entity.DbContext..ctor(DbConnection 现有连接,布尔上下文OwnsConnection)在 AccountingCore.DomainEntities.DatabaseContext..ctor() 在 c:\Users\wassel\Desktop\Tay_Entreprise\迁移的 Taysir\Taysir Entreprise\AccountingCore\DomainEntities\DatabaseContext.cs:第 26 行
--- 内部异常堆栈跟踪结束 --- 在 System.RuntimeTypeHandle.CreateInstance(RuntimeType type, Boolean publicOnly, Boolean noCheck, Boolean& canBeCached, RuntimeMethodHandleInternal& ctor, Boolean& bNeedSecurityCheck) 在 System.RuntimeType.CreateInstanceSlow(布尔 publicOnly,布尔 skipCheckThis、布尔填充缓存、StackCrawlMark 和 stackMark)在 System.RuntimeType.CreateInstanceDefaultCtor(布尔 publicOnly, Boolean skipCheckThis、Boolean fillCache、StackCrawlMark& stackMark)
在 System.Activator.CreateInstance(类型类型,布尔非公共)在 System.Activator.CreateInstance(类型类型)在 Microsoft.VisualStudio.TextTemplating083B3A1F42B3A6F6984D21F93E2A562F18834A2D2CD4017C917BCF44C5B4413C639EC8000C24911B33CCC0A1B86BE1DE019321BC7BEBB9B61319B229A388E34A7A efAssembly,类型 contextType) 在 Microsoft.VisualStudio.TextTemplating083B3A1F42B3A6F6984D21F93E2A562F18834A2D2CD4017C917BCF44C5B4413C639EC8000C24911B33CCC0A1B86BE1DE019321BC7BEBB9B61319B229A3888888888B229A3888888888888B4A7Transformation()
这是我的上下文类
public class DatabaseContext : DbContext
{
private static DatabaseContext instance;
public static DatabaseContext Instance
{
get
{
return instance;
}
}
private static DbConnection _dbConnection;
public DatabaseContext() : base(_dbConnection,false)
{
}
public static void InitialiseInstance(DbConnection connection)
{
if (instance != null)
{
instance.Dispose();
GC.SuppressFinalize(instance);
}
instance = new DatabaseContext(connection);
}
public DatabaseContext(DbConnection connection)
: base(connection,true)
{
Database.SetInitializer<DatabaseContext>(new DatabaseInitialiser());
}
public DbSet<class1> c1{ get; set; }
【问题讨论】:
标签: c# entity-framework ef-code-first