问题标签 [edmgen]
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.
mysql - 带有 MySQL 的实体框架 - 生成模型时超时
我在 MySQL 中构建了一个数据库,并尝试使用 Entity Framework 将其映射出来,但是每当我尝试向 EF 上下文中添加大约 20 个表时,我就会开始遇到“GenerateSSDLException”。
尝试从数据库更新时出现“Microsoft.Data.Entity.Design.VisualStudio.ModelWizard.Engine.ModelBuilderEngine+GenerateSSDLException”类型的异常。异常消息是:'执行命令定义时发生错误。有关详细信息,请参阅内部异常。
命令执行期间遇到致命错误。
超时已过。在操作完成之前超时时间已过或服务器没有响应。
受影响的表没有什么特别之处,也不是同一个表,只是在添加了特定(非特定)数量的表之后,如果没有“超时过期”错误,则无法再更新上下文。有时只剩下一张桌子,有时是三张;结果非常难以预测。此外,在错误之前可以添加的表数量的差异向我表明,问题可能在于为更新上下文而生成的查询的大小,该上下文既包括现有的表定义,也包括新的表正在添加到它。从本质上讲,SQL 查询变得太大,并且由于某种原因无法执行。
如果我使用EdmGen2生成模型,它可以正常工作,但生成的 EDMX 文件无法在 Visual Studio 中更新而不会产生上述异常。
鉴于 EdmGen2 工作正常,这个问题的根源很可能在于 Visual Studio 中的工具,但我希望也许其他人可以就如何解决这个非常独特的问题提供一些建议,因为看起来我不是唯一经历它的人。
一位同事提出的一个建议是维护两个单独的 EBMX 文件,并带有一些表交叉,但在我看来,这似乎是一个非常丑陋的解决方案。我想这就是我尝试使用“新技术”的结果。:(
entity-framework - .NET EntityStoreSchemaFilterEntry 过滤器模式
SO的第一个问题,我希望我做对了。;)
关于 System.Data.Entity.Design.EntityStoreSchemaFilterEntry :
我正在寻找有关此类的一些详细文档。MSDN 文档只说明存在哪些属性及其数据类型。我想创建一个定义明确的过滤器列表
具体来说:
- 我们是否需要在 Allows 之前设置所有 Excludes,以便 Allow 条目是唯一返回的条目?
- 在任何参数中使用 null 会有什么后果?空字符串 "" 呢?对此的评论似乎相互矛盾,并且与我的使用经验不符。
- 正确的“all”通配符是简单的“%”吗?
我的目标是排除所有表、视图和过滤器,然后只允许我想要的那些。如果我尝试这样做,我会得到一个没有实体的 edmx 文件。似乎我的全部排除优先于我尝试包含的所有表。如果我不尝试排除我不想要的表,我会得到我允许的表以及数据库中的所有其他表,这会使过滤变得无用。
作为参考,我能找到的关于过滤器的正确通配符模式的唯一信息是:http: //msdn.microsoft.com/en-us/library/ms710171 (VS.85).aspx
请注意,我已经超越了 EdmGen,注意到了 EdmGen2 中的错误和限制,现在我正在尝试通过一个主要扩展的 EdmGen2 基础来完成我所需要的。
谢谢!
帮助人们搜索此主题的相关关键字:
c# - 通过 System.Diagnostics.Process 生成 EF 模型
阅读本文后,我尝试通过 System.Diagnostics.Process 生成 EF 模型:
但我没有得到结果,因为我不能做格式良好的参数字符串。正如我所尝试的,有很多引号。如何组织参数字符串?
c# - 通过 edmgen 工具仅生成实体框架模型的 objectLayer
如何通过edmgen 工具只生成objectLayer,而不生成csdl、ssdl 和视图?
"%windir%\Microsoft.NET\Framework\v4.0.30319\edmgen.exe" /mode:fullgeneration /c:"数据源=.\sqlexpress;初始目录=uqs;集成安全性=SSPI" /project:generateEntityModel /entitycontainer :uqsEntities /namespace:uqsModel /language:CSharp /outobjectlayer:"D:/uqsObjectLayer.cs"
在这个脚本中,我没有写写 csdl、ssdl 和 views 的位置,但它们是在 windows Vista的C:\Users\adminUser中生成的,而 objectLayer 是在D:/uqsObjectLayer.cs中生成的。如果我使用/mode:EntityClassGeneration,this option requires the /incsdl argument and either the /project argument or the /outobjectlayer argument. The /language argument is optional.
但我不想使用csdl文件。据我了解,edmgen.tool 无法在没有csdl文件的情况下创建对象层。现在有从数据库生成对象层的替代方法或工具吗?
c# - Process.Start() edmgen
单击 asp.net 应用程序process.start()中的按钮后,将运行带有参数的 edmgen 工具。我发现错误:
如何解决这个问题?
postgresql - 无法在 VS10 中使用 .NET 4.0 显示在 EdmGen2 中生成的 edmx
我正在尝试从我的 Postgresql 数据库生成实体模型。在 .net 3.5 和 vs2008 下它运行良好。不幸的是,在 vs10 下它没有。我收到一个错误:
“该文件引用的 XML 命名空间与项目的目标框架不一致。”
我认为这是因为 EF4 使用的是 EDMX v2 而不是 v1,但我无法使用 EdmGen2 的 RetrofitModel 参数来更改它(ModelGen 下有类似的参数,但没有 RetrofitModel)。我尝试在 xml 中手动更改版本和引用,并且能够在设计器中显示 edmx 文件 - 虽然它是空的。
问题
如何从 Postgresql 数据库生成 VS10 的 EF4 设计文件?
c# - edmgen 工具生成实体框架类后出现错误
首先我阅读了这个问题,但是这些知识并没有帮助解决我的问题。
最初,我通过 Visual Studio 创建了 edmx 文件。生成的文件名:
- uqsModel.Designer.cs
- uqsModel.edmx
此文件位于 App_Code 文件夹中。
我的网络应用程序正常工作。在 Web Config 中自动生成连接字符串。
然后我不得不通过仪器edmgen 工具(全生成模式)生成类。生成具有名称的新文件:
- uqsModel.cs
- uqsModel.csdl
- uqsModel.msl
- uqsModel.ssdl
- uqsViews.cs
它将新分类保存到之前 edmx 文件所在的文件夹中,并删除现有的 edmx 文件。并且当页面重定向到任何网页服务器端代码失败时。还有问题:无法加载指定的元数据资源。
有什么想法,请。
linq-to-entities - 使用 edmgen.exe 时可以包含存储过程吗?
我有几个用于生成 edmx 文件的脚本(使用 edmgen 和edmgen2)。
有没有办法包含存储过程?还是我必须为此使用 GUI 设计器?
entity-framework - 使用 EdmGen 生成 ssdl 和 csdl 但不生成代码?
我正在使用大型 Entity Framework 4.0 edmx,并且需要自动构建 edmx。但是,我需要保持使用自定义 T4 模板的能力。
在我们的 edmx 中,我们将代码生成设置为无,因此我们可以针对 edmx 使用多个 T4 模板。当我使用 EdmGen 构建时,代码是使用默认模板生成的。
我对 EdmGen2 进行了试验,可以对其进行自定义以允许我们的 T4 模板,但它无法正确地复数集合名称,即使明确设置了 .edmx 属性也是如此。
让 EdmGen 或 EdmGen2 在这种情况下工作的任何帮助将不胜感激。
c# - 使用 edmgen 生成实体类
我有一个edmx
使用实体实体框架模型创建的文件。
每当我在 edmx 中进行一些更改(例如从实体中删除一列)时,我都想生成实体类(Designer.cs
)。我知道我可以通过右键单击 edmx 文件并运行自定义工具来做到这一点
我想使用 edmgen 工具来做到这一点。但是 edmgen 工具需要 msdl 和 csdl 文件。但我在 edmx 文件中有所有内容。
有没有办法将 edmx 文件指定给 edmgen 命令。