问题标签 [ef-power-tools]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
entity-framework-core - 将 Entity Framework Core 与 Net Topology Suite 一起使用时调整 CurvePolygon SQL 空间类型
有没有一种使用 Entity Framework Core 将 SQL 空间 CurvePolygon 几何列转换为简单多边形的好方法?NetTopologySuite 不支持 CurvePolygon 类型,因此我正在寻找一种在我的 .Net Core 客户端中读取/写入此列的方法。
背景: 我有一个 SQL 空间数据库,它使用 CurvePolygons 来描述圆。Entity Frame Core 5.0.6 和 NetTopologySuite 2.1.0 用于通过使用 EF Core Power Tools 对现有数据库进行逆向工程的代码优先模型来访问数据库。当几何列包含多边形时,代码按预期工作。但是,当我阅读 CurvePolygon 列时,代码无法尝试加载 SqlServerTypes.dll(可能是 .Net Core 应用程序甚至不应该使用的后备路径。)
目标: 我可以使用数据库中的计算列以及 CurvePolygon 形状的中心和半径轻松地重新创建这些圆。读取时一个合理的解决方法是将 CurvedPolygons 转换为近似圆形的多边形。在写入时,一个选项是生成一个描述圆的 OpenGIS 字符串并写入它而不是近似的圆多边形。
在最坏的情况下,我认为我有一个触发器,可以在写入时将 Polygons 转换为 CurvePoly,然后查看排除几何体的表格视图,然后在第二次行程中获取非曲线几何体,但这些选项都感觉不是很好。我希望在某个地方我可以注册一个没有出现在我的搜索中的适配器类......
下面是生成的代码第一表的简化版本:
谢谢你的帮助
ef-power-tools - EF电动工具如何降级?
我在 VS 2019 中安装了 EF 电动工具扩展。最近它自动升级到最新版本到 2.5.649。我有 .NET Core 2.2 应用程序正在使用microsoft.entityframeworkcore.sqlserver 2.2.6
我正在尝试使用逆向工程来创建实体。
1> SQL 表名是复数形式
2> 表中的主键以ID
我想:
1>相应的实体名称被单数化。
2>直接使用数据库中的列名。(保持ID
为ID
。不更改为Id
)
这用于旧版本。根据最新文档 For EF Core reverse engineering, .NET Core 3.1 x64 runtime must be installed
问题
1> 是否可以让 EF 工具与 .NET Core 2.2 一起使用?
2> 如果不是,那么是否可以降级 EF Tool?
entity-framework-core - 尝试使用 EF Power 工具添加数据库上下文图时无法找到系统正在寻找的依赖项
我有一个 dot net core 3.1 Web 应用程序,我正在尝试使用 EF CORE Power Tools 扩展生成数据库上下文图。但以下错误阻止了图表的生成。这个参考从哪里丢失?没有抽象程序集的 3.1 版本,但我不知道在哪里可以找到更正它的引用。
参数名称:异步任务 EFCorePowerTools.Handlers.ModelAnalyzerHandler.GenerateAsync 中的 processResult(字符串 outputPath,项目项目,GenerationType generationType) System.ArgumentException:错误:System.IO.FileNotFoundException:无法加载文件或程序集“Microsoft.AspNetCore.Hosting.Abstractions ,版本=3.1.0.0,文化=中性,PublicKeyToken=adb9793829ddae60'。该系统找不到指定的文件。文件名:'Microsoft.AspNetCore.Hosting.Abstractions, Version=3.1.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60' at System.Signature.GetSignature(Void* pCorSig, Int32 cCorSig, RuntimeFieldHandleInternal fieldHandle, IRuntimeMethodInfo methodHandle, RuntimeType declaringType) at System.Reflection.RuntimeMethodInfo.get_ReturnType() 在 Microsoft.Extensions.Hosting.HostFactoryResolver。
entity-framework-core - EF Core PowerTools 列排除设置的逆向工程不起作用
我在 .net5 Web api 应用程序中使用适用于 Visual Studio 2019 的 EF Core Power Tools。我正在尝试对我们的数据库进行逆向工程(MS SQL Server v17.9.1)。我正在使用 NuGet 包 EFCore.SqlServer (5.0.11) 和 EFCore.Tools (5.0.11)
每个表中有很多很多列我们没有使用(自动生成)。尝试使用排除列时出现此错误:
OrderNumber 是我排除的列之一。它不用于任何键或索引。 表定义的屏幕截图
我看到this thread about a similar issue,但这似乎与PostgresSQL有关,而且是4个月前。
我可以处理所有列,但它会极大地混淆代码库。
c# - .NET 5 在使用 EF Core Power Tools 时正确注入 DbContext 连接字符串
希望获得有关在 .NET 5 Web API 中设置连接字符串的最佳实践的指导。我正在使用 EF Core Power Tools 对数据库模型进行逆向工程,并且我在 appsettings.json 文件中有一个连接字符串。试图弄清楚我应该如何将Microsoft 的 DbContext 配置文档中的步骤与我现有的设置一起应用。
项目设置(为简洁起见)基本上如下所示:
应用设置.json
启动.cs
ApplicationDbContext.cs(由 EF Core Power Tools 自动生成)
ExampleController.cs
现在,单独的设置不起作用(示例控制器将导致“没有为此 DbContext 配置数据库提供程序。可以通过覆盖 'DbContext.OnConfiguring' 方法来配置提供程序......”错误)。
我一直在通过Connection String
在类中添加一个属性ApplicationDbContext.cs
(在它自动生成之后)并在 ConfigureServices 中设置属性来解决这个问题,Startup.cs
如下所示:
这确实允许在using(var db = new ApplicationDbContext() { }
整个应用程序中使用,但每次我使用 EF Core Power Tools 刷新模型时,此连接字符串设置都会被覆盖。
有没有更好的例子可以效仿,或者这里最好的方法是什么?谢谢!