问题标签 [entity-model]
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 - 在实体模型的“关系”表中添加条目?我怎么做?
所以故事很简单。
我有一张名为 Products 的表和另一张名为 Categories 的表。此外,我还有另一个名为 ProductCategories 的表,它保存了类别与其对应产品的关系(即,该表有两列,ProductId 和 ColumnId)。
出于某种原因,在将所有这些表添加到我的实体模型之后,我没有“访问”权限,因此我可以执行 myentityModel.ProductCategories,因此我可以在这两个表之间建立关系项目。
是的,ProductCategores 表作为“关联”添加到实体模型中。我真的不明白。
编辑:
我确实看到,作为创建新“产品”的一部分,我可以传递“类别”的 EntityCollection。所以我从我的实体模型中查询用户选择的匹配类别列表(在网页上)。例如,我得到(在查询模型之后),一个“类别”的对象集。但是,我遇到了两个问题:
'AddObject' 只接受 EntityCollection,因此我需要重新创建一个集合,然后将 ObjectSet 中的所有对象添加到 entityCollection,在此过程中,我需要将其与之前的模型分离并将其添加到新集合中。如果没有,我得到一个例外。
当我执行 SaveChanges 时,我看到我得到一个异常,它实际上是在尝试创建新类别而不是添加新的 ProductCategory。再说一次,我在这里错过了什么吗?
谢谢。
c# - 为什么我的 WCF 服务不使用我的实体模型?
我在同时使用 WCF 服务和实体模型时遇到了问题。我已经从我现有的数据库中创建了一个实体模型。这可以在下面显示;
在来自“实体对象代码生成器”的任何控制台应用程序中使用我的类时没有任何问题。
然后,我用下面的接口创建了 WCF 服务:
但是,当我在服务类中实现这些方法并运行我的客户端应用程序时,我收到了类似的错误
我怎样才能摆脱这个问题?
问候, 凯马尔
visual-studio-2010 - .edmx 文件的实体设计器在 VS2010 中不起作用
我有一个 .edmx 文件,我无法用设计器打开它。它只是作为纯 XML 文件打开。当我尝试在其上“运行自定义工具”时,它会说:
自定义工具“EntityModelCodeGenerator”失败。无法加载文件或程序集“Microsoft.Data.Tools.VSXmlDesignerBase, Version=10.0.0.0, ...”或其依赖项之一。该系统找不到指定的文件。
事实上,我的系统上没有这个文件。我试过将它复制到我的机器上,但后来我得到:
加载实体数据模型工具包时出错。
我安装了 VS2010 SP1 Professional。
我已经尝试修复和重新安装 VS 和 SP1,并安装了一些实体包/补丁(我不记得它们的确切名称),但这并没有帮助。我还能尝试什么?
asp.net - 动态更改连接字符串时出错
我在更改我的实体连接字符串时遇到了这个问题。
这是代码:
当它尝试更改连接字符串时,它给了我一个 InvalidOperationEsception。
错误详细信息:通过打开连接或使用 MetadataWorkspace 构建连接来注册元数据后,不允许对连接进行修改。
任何帮助它让我无言以对....
asp.net-mvc-3 - 找不到概念模型类型
我在 MVC3 项目 A 和 B 中有两个实体数据模型。
我最近添加了新的实体数据模型 B 来处理一些新功能,问题是现在现有代码已经停止工作,并且在尝试访问实体模型 A 中的代码时出现以下错误。
错误信息是:
找不到概念模型类型“project.models.Bclass”
我不明白为什么这个新功能会影响当前代码,因为实体模型 A 没有任何变化。并且功能 B 在一个单独的类中,不会干扰模型 A。
当从项目中删除新代码并排除实体模型 B 时,代码将正常工作。
这是错误中的一些堆栈跟踪:
dll - 使用 EntityDataSource - 实体框架时无法加载指定的元数据源
我的 MyModel.edmx 在程序集 DataAccess.dll 中。这个程序集在我的 Web 项目 (C#) 中被引用
我的实体连接字符串是问题所在。
这是我从 app.config 复制到我的 win.config 的内容:
问题是我收到无法加载元数据源的错误。
我确信我的型号名称是正确的。我已经用 Reflector 检查了 dll。
所以,我想我应该将我的 dll 包含到连接字符串中,我尝试了这个
但是我收到错误,即DataAccess.dll 无法在程序集枚举列表中找到。
有什么方法可以直接在 dll 中引用我的模型。而且我的dll不是强命名的dll。
任何帮助表示赞赏。
谢谢
asp.net-mvc - 是否可以将 VS 实体图设计器与 ASP.NET MVC 3 一起使用?
ASP.NET MVC 3 的介绍性视频暗示我想要的工作流程是声明定义我的模型的类(代码优先设计)。
这让我觉得很奇怪,因为 Visual Studio 有一个很好的实体图设计器,它可以生成带有导航属性等的类。
是否可以使用该实体图设计器来设计模型(模型优先设计),并让 ASP.NET MVC 3 将生成的类理解为其模型?
如果可能,请提供准确的步骤:) 谢谢 :)
entity-framework - 使用交叉引用表创建实体模型 - EntityFramework 4.1
这是我的场景(表格):
当我将这 3 个表导入 EDMX 模型时,我得到 2 个实体:Employee 和 Department。实体 Employee 具有导航属性 Departments,实体 Department 具有导航属性 Employees。
这一切都很好。我其实很喜欢这种方式。
但是,当我想在 XREF 表中添加更多字段时,问题就开始了,例如,我希望有 DateCreated、UserId 字段来记录何时进行更改以及由谁进行更改。如果我在 XREF 表中添加这两个字段,那么我的 EDMX 模型将显示 3 个实体而不是两个。这不是什么大问题,但是由于我已经完成了编码,所以我正在寻找简单的解决方案(以避免编码)。
问题:是否可以在 XREF(交叉引用)表中添加新字段并仅保留两个实体?如果是,我将如何更新我的日期时间和用户 ID 信息?
我假设必须存在 XREF 实体才能更新它(使用日期和用户 ID),但我真的很喜欢具有导航属性:Departments和Employees,而不是具有导航属性EmployeesDepartmentXREFs。
这有中间立场吗?最佳做法是什么?
谢谢。
entity-framework - 如何映射相同的两个实体之间的两个关系?
一些关于如何正确描述这些关系的建议将是一个很好的开始。准确描述的事情是寻找解决方案的问题。我有实体用户和登录,其中登录基本上描述了一个用户的登录会话。因此,用户通常有许多登录实例。这种关系仅在登录端使用必需的单个用户导航属性进行描述,并且在用户端有一个隐含但未声明的登录集合。
然后,对于另一个关系,在 Login 的授权下创建了一个 User,因此在 User 侧描述了此关系,具有 Login 导航属性,并且在 Login 侧有一个隐含的但不是 User 集合。
除了使用 DB 工具之外,我没有做太多的 DB 建模,它们总是为我找到正确的关系,但是现在,我必须首先使用流利的映射为代码映射这些关系。我如何描述这两种关系,什么是主面和从属面,这里的多重性是什么?
.net - 实体框架中与级联删除的 1 到 0..1 关系
假设以下模型,在 Entity Framework 4.3 中创建: http ://www.dumpyourphoto.com/files4/122585/bI2uq9a.png
我们有:
- 位置实体
- 有位置的公司
- 一个关系:位置包含 0..1 个公司。这个选择是必要的,因为 Location 实体将被我们设计中的更多实体使用。
- 级联删除:当公司被删除时,其对应的位置也需要被删除。
这就是它出错的地方:从这个模型生成数据库时,Entity Framework 弹出以下错误消息:
http://www.dumpyourphoto.com/files4/122586/bgOPaZwqL.png
翻译错误消息说:
"End Company on relationship Model1.Store.CompanyLocation cannot have operation specified since its multiplicity is '*'. Operations cannot be specified on ends with multiplicity '*'."
经过调查,我们注意到这似乎确实不可能,因为实体框架生成以下数据库(没有级联删除): http ://www.dumpyourphoto.com/files4/122587/rx0g1G.png
级联删除确实无法进行,因为实体框架有点作弊,它只生成 1 个外键,同时将两个导航属性保留在其实体中。
这是完全明智和正确的数据库明智的,但是它给我们带来了麻烦。我们需要这种级联删除,但也需要 0..1 关系,因为数据库中的其他对象使用位置实体的方式与公司相同。有没有人对此有解决方案,或有关如何解决此问题的建议?