问题标签 [ado.net-entity-data-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.
c# - ADO.NET 数据服务
我正在考虑将 ADO.NET 数据服务与 silverlight 一起使用。我一直在查看 msdn 上的 数据模型和数据服务实现(ADO.NET 数据服务/Silverlight)主题。在他们的示例中,他们构建了从数据库生成的数据模型,并在数据模型中查询实体。就我而言,我想使用存储过程,所以我创建了数据模型并添加了存储过程而不是表和视图,但现在我不确定如何执行它们。有人有示例吗?
.net - ADO.NET 实体:限制基于视图的数据选择
考虑以下示例:
SQL 表客户:
SQL 视图 ViewCustomerSelection:
我想创建 ADO.NET 一个仅选择在 ViewCustomerSelection 中具有相应值的客户的实体
以下不起作用:
- 创建映射到 Customer 和 ViewCustomerSelection 的实体,而不使用 ViewCustomerSelection 中的任何条件和任何字段: ViewCustomerSelection 不包含在 SQL 中,并且返回所有客户。
- 包括来自 ViewCustomerSelection 的字段:返回正确的选择,但现在 Customer 对象不可更新
- 在 SomeOption 字段上指定“非空”条件:错误 - 必须映射具有 'IsNull=false' 条件的属性 ViewCustomerSelection.SomeOption。
- 在 ViewCustomerSelection.ID 字段上指定“非空”条件:错误 - “实体类型在其主键上包含一个条件。请从映射中删除该条件。
澄清
数据库定义:
我想要具有 ID 和名称的实体 Customer,它只有 ViewCustomerSelection 中存在的记录的记录(注意 - 实际上视图更复杂,不能使用简单的条件来表达)
ado.net - 如何获取 ADO.NET 实体模型中的外键?
我有 3 个表(以及实体模型中的相应实体) Game: Id - primay key ... 其他列
Player: Id - 主键 ... 其他列
GamePlayer (一个玩家可以参与很多游戏) GameId --> 来自 Game PlayerId 的外键 --> 来自 Player 的外键 ... 其他列
在我的代码中,我可以通过其他方式使用 gameId 和 playerId。使用这个我想知道玩家(playerId)是否正在参与特定的游戏(gameId)。所以我这样做:(实体是我的上下文对象)
IQueryable query = entity.GamePlayer.where(gp => ((gp.Game.Id == gameId) && (gp.Player.Id == playerId))) 如果查询返回一行,那么我知道该玩家正在参与在那场比赛中。
我阅读了多个关于实体引用的 MSDN 博客,但我很困惑。似乎 MSDN 建议我首先必须检查 IsLoaded 的 EntityReference 对象,如果没有加载,我必须加载实体,然后我才应该在查询中使用它。
GamePlayer 确实有 GamePlayer.GameReference 和 GamePlayer.PlayerReference,但我无法检查是否加载了引用,因为我手头没有 GamePlayer 对象。GamePlayer 表包含两个 1...* 关系,仅此而已。我必须仅使用 GameId 和 PlayerId 查询 GamePlayer。我在这里做错了什么?
我应该改为获取玩家(或游戏)对象(使用他们的 ID)并检查 GamePlayer 实体集合吗?Sql 就是这么简单。如果这太天真了,对不起,我很难将我的 sql 查询转换为实体查询。
.net - 向 ADO .NET Entity Framework 添加业务层
我正在开发我的第一个 .NET 项目(.NET 3.5、ADO.NET 和 C#)。我们已经构建了我们的实体模型,并正在尝试构建一个干净的业务对象层。
我们已经有了基本的实体模型,并且我们希望将某些业务级语义添加到默认数据访问器(导航属性等)。
Person
例如,假设我们在和之间存在多对多关系BankAccounts
。假设我们想在业务层添加冻结帐户的功能。我们现在希望能够从 Person 导航到:
- 他们所有的银行账户,
- 他们未冻结的银行账户,以及
- 他们冻结的银行账户。
自然,我们希望将名义情况设为默认值:如果我导航Person.BankAccounts()
,我希望它返回他们未冻结的帐户。我可以添加导航属性Person.FrozenBankAccounts()
和Person.AllBankAccounts()
.
我们提出的两种方法似乎都有相当多的代码气味。
- 我们找不到覆盖实体模型方法的方法。
Person.BankAccounts()
因此,作为返回所有银行账户的访问者离开。然后我们添加 aPerson.FrozenBankAccounts()
和 aPerson.NonFrozenBankAccounts()
。 - 向代码库添加另一个显式层,该层包含对
BankAccounts
.
对于方法 1,问题在于名义业务案例(访问未冻结的银行账户)是该批次中最不直观的方法名称。
使用方法 2,当我们从实体模型层子类化对象时,我们必须重写每个方法以确保它不会从底层返回对象。所以我们创建了BL_Person
一个BankAccounts()
返回BL_BankAccount
对象集合的方法。但在这种情况下,所有这些代码似乎有点傻。
有没有比我们考虑的两个更好的方法?如果没有更好的方法,我概述的两种方法中的哪一种似乎是更好的解决方案(鉴于我们需要使用 50 多个类)?
注意:在进行网络搜索时,我确实找到了一封致 Microsoft 的公开信,标题为ADO .NET Entity Framework Vote of No Confidence,这似乎暗示没有添加明确分离关注点的好方法。
linq-to-sql - 实体框架查询与分组(多对多)
我有一个经典的多对多场景,其中包含三个表(学生、课程和第三个学生课程分配表)。
我在我的新项目中使用 EF 并且 EF 设计器没有创建第三个表。我需要选择所有课程以及分配给它的学生人数。使用纯 SQL 非常简单:
但我不知道如何将此查询转换为 Linq to SQL。请指教。
谢谢你。
c# - 实体框架:设置外键属性
我们有一个大致如下所示的表:
所有的键都与其他表相关,但由于应用程序的分布方式,我们更容易将 ID 作为参数传递。所以我们想这样做:
我们可以在 LINQ-to-SQL 中做到这一点,但不是 EF?
.net - ADO.NET Entity Framework 生成意外的问题 INSERT
我需要一些帮助来理解 ADO.NET 实体框架。
我正在尝试使用 ADO.NET 实体框架表示和操作 WPF TreeView 控件中的分层数据。
ADO.NET 实体框架对象与父和子 http://img14.imageshack.us/img14/7158/thingpi1.gif
这些事物中的每一个都有一个单亲和零个或多个孩子。
我的“删除”按钮...
我在调试应用程序时正在监视 SQL Server Profiler:
- 第一个按钮单击删除就好了。
- 第二个按钮单击插入一个重复的父项(但具有空的 GUID 唯一标识符主键),然后执行删除。
- 第三个按钮单击失败(违反 PRIMARY KEY 约束),因为它无法插入具有空 GUID 主键的另一行。
意外生成的 T-SQL 重复...
但是,它不仅仅是删除。我的“添加”按钮具有与意外插入类似的行为。它遵循相同的模式。
这让我觉得我如何将这些实体类绑定到 WPF TreeView 或我的数据模型本身存在一个更根本的问题。
这是相关的代码...
XAML...
视觉基本...
我究竟做错了什么?为什么会产生这些奇怪的插入?
更新:
我取得了突破。但是,我还是无法解释。
当我为这个问题简化代码时,我已经摆脱了原因。
而不是使用 Linq,例如:
我一直在使用 Linq,例如:
您会看到,My Thing 实体与另一个 Brand 实体相关。
ADO.NET 实体框架对象与父子和相关对象 http://img25.imageshack.us/img25/3268/thingbrandct4.gif
我认为这无关紧要,所以我没有将其包含在上面的问题中。
显然,这是在我的 Thing 表中插入意外问题的原因。
但为什么?谁能解释为什么会这样?我想更好地理解它。
entity-framework - 从 EDM 构建 SSRS 2008
有人可以概述基于 ADO.Net 实体框架实体数据模型构建 SQL Server Reporting Services 2008 报告的过程吗?如果您知道任何示例,请指出我。谢谢!
entity - ADO 实体框架创建不需要的实体键
我需要使用无法更改的数据库中的表(使用链接服务器)。所以我的架构的一部分是这些表的视图,我无法在我的数据库中创建 FK。
当我在 ADO.NET Entity Framework 中创建关联时,我遇到了问题,因为来自外部 DB 的表上的第二列上有一个索引,而 EF 正在为它创建一个实体键(它是记录-我认为他们只是想加快订购速度)。
当我从 EF 实体中的该列中取出实体键时,它抱怨我需要它,因为基础表上有一个键。如果我把它留在里面,我不能把它映射到 EF 的表映射中的任何东西上。
请问有谁知道我应该怎么做?
ado.net - 补充 ADO.net 实体数据模型中的实体
(玩弄 MVC 框架)我创建了一个 ADO.net 实体数据模型。现在我想用一些业务逻辑来扩展它,比如创建返回上下文子集的函数。部分类与数据模型一起创建,因此我创建了一个新文件来声明部分类,如下所示:
我在其中放置了一个名为 GetMovieById(int id) 的函数,结果如下所示:
在启动项目之前,我没有收到任何错误,然后错误是:
编译器错误消息:CS1061:“RecordStore.Models.MovieDBEntities”不包含“MovieSet”的定义,并且找不到接受“RecordStore.Models.MovieDBEntities”类型的第一个参数的扩展方法“MovieSet”(您是否缺少使用指令还是程序集引用?)
我不明白这个错误,因为部分类的另一部分包含 MovieSet。我的问题基本上是,如果这不是扩展数据模型的方式,那将是什么方式,如果是这样,我为什么会收到这个错误?