使用 Npgsql 的现金代码优先模型
Cashed code-first model with Npgsql
我正在尝试启用缓存实体模型(阅读 https://mirkomaggioni.com/2018/01/06/performance-improvements-in-entity-framework-6-2/ 后)以及 Npgsql 提供程序。
数据库配置:
Class NpgsqlConfiguration
Inherits System.Data.Entity.DbConfiguration
Public Sub New()
Dim provider = "Npgsql"
SetProviderServices(provider, Npgsql.NpgsqlServices.Instance)
SetProviderFactory(provider, Npgsql.NpgsqlFactory.Instance)
SetDefaultConnectionFactory(New Npgsql.NpgsqlConnectionFactory())
SetModelStore(New DefaultDbModelStore(Directory.GetCurrentDirectory()))
End Sub
End Class
首先 运行 Edmx 模型生成,内容有效。
但是在第二个 运行 异常发生时,当我尝试从上下文
访问某些数据库集时
ctx.Set(Of EntityClass).ToList()
System.ArgumentException: 'The path is not of a legal form.'
我该如何克服这个问题?感谢您的帮助。
Entity framework6.2.0,Ngpsql 4.0.2,ef.npgsql3.2.0
我正在使用 Costura.Fody 作为解决方案,当我禁用它时,EF 开始加载生成的模型。
不过我没有注意到任何显着的性能提升:/
- 在没有 edmx 模型的情况下调用第一个查询大约需要 2.4 秒
- 使用edmx模型调用第一个查询大约需要2.2s
我模型中有46个实体(表),可能是数量太少,找不到缓存的效果..
我正在尝试启用缓存实体模型(阅读 https://mirkomaggioni.com/2018/01/06/performance-improvements-in-entity-framework-6-2/ 后)以及 Npgsql 提供程序。
数据库配置:
Class NpgsqlConfiguration
Inherits System.Data.Entity.DbConfiguration
Public Sub New()
Dim provider = "Npgsql"
SetProviderServices(provider, Npgsql.NpgsqlServices.Instance)
SetProviderFactory(provider, Npgsql.NpgsqlFactory.Instance)
SetDefaultConnectionFactory(New Npgsql.NpgsqlConnectionFactory())
SetModelStore(New DefaultDbModelStore(Directory.GetCurrentDirectory()))
End Sub
End Class
首先 运行 Edmx 模型生成,内容有效。 但是在第二个 运行 异常发生时,当我尝试从上下文
访问某些数据库集时ctx.Set(Of EntityClass).ToList()
System.ArgumentException: 'The path is not of a legal form.'
我该如何克服这个问题?感谢您的帮助。
Entity framework6.2.0,Ngpsql 4.0.2,ef.npgsql3.2.0
我正在使用 Costura.Fody 作为解决方案,当我禁用它时,EF 开始加载生成的模型。
不过我没有注意到任何显着的性能提升:/
- 在没有 edmx 模型的情况下调用第一个查询大约需要 2.4 秒
- 使用edmx模型调用第一个查询大约需要2.2s
我模型中有46个实体(表),可能是数量太少,找不到缓存的效果..