问题标签 [entityset]

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.

0 投票
7 回答
11725 浏览

c# - LINQ-to-SQL + 一对多 + DataBinding 删除

我使用 LINQ-to-SQL 从具有一对多关系的两个表的数据库中加载数据(一个配方有许多成分)。

我加载一个配方,LINQ 将成分对象检索到一个绑定到列表框的实体集中。

如果我想从食谱中删除一些成分,我会收到“尝试删除食谱和成分之间的关​​系。但是,关系的一个外键 (Ingredient.RecipeID) 不能设置为空。

我通过将“DeleteOnNull="true"' 添加到 DBML 文件中,使用众所周知的解决方案解决了这个问题。但添加此设置仅在我们删除从数据库中检索到的成分对象时才消除问题。

问题在于在代码中创建的成分对象(添加到配方中)并添加到成分的 EntitySet 集合中,然后在调用 SubmitUpdates 之前删除。然后,同样的异常再次发生。这通常发生在一个新的、未保存的食谱上,当用户向其中添加成分时,犯了一个错误并从食谱中删除了一种成分。我将 DeleteOnNull 添加到 DBML 中的两个 'Association Name="Recipe_Ingredient"' 行。

我应该如何删除这些对象?我目前看到的唯一解决方案是,我会将成分加载到不在 DataContext 下的集合中,然后在保存时,从配方中删除所有成分,然后从该缓存中再次添加。

0 投票
3 回答
2550 浏览

linq - 挣扎于 .ToList() 返回 EntitySet<...>,而不是 IList<..>

我正在尝试Id从对象 heirachy 中深几级的集合中检索 's 列表。当我尝试执行 aToList()时,我一直在检索到一个EntityList<>.. 这意味着它不允许我检索实例的BarId属性,因为它EntitySet是一个Enumerable,而不是单个实例对象。

它不断返回children2List作为一个EntitySet<Bar>,而不是一个IList<Bar>。因此,我正在努力BarIdchildren2List.

请帮忙!

0 投票
4 回答
4433 浏览

.net - 如何对 EntitySet 进行排序

MSDN 文档指出 EntitySet 实现了 IBindingList

(请参阅http://msdn.microsoft.com/en-us/library/bb546190.aspx上的“绑定到实体集” )

但是,可以清楚的看到一个EntitySet并没有实现这个接口!

那么我该如何排序呢?

对于上下文,我将此集绑定到 WPF ListView。

有关我要解决的问题的更广泛背景,请参阅这篇文章

0 投票
2 回答
1904 浏览

wpf - WPF 绑定不通知更改

我有一个 WPF 排序/绑定问题。(免责声明:我对 WPF 和数据绑定非常陌生,所以如果我问一个非常愚蠢的问题,我深表歉意 :-))

首先,我有一个Contact带有EntitySet<Booking>属性 Bookings 的 linqToSql 实体类。

如果我直接将此 Bookings 属性绑定到 a ListView,则应用程序似乎会正确通知 中所选项目的更改ListView,从而使带有{Binding Path=Bookings/Comments}正确更新的文本框。

但是,由于我似乎无法找到对 EntitySet 进行排序的方法(请参阅这篇文章),因此我尝试将其绑定到 Observable 集合,例如:

但这似乎并没有正确通知评论文本框以使其更新。

如果有人有一个解决方案,可以在数据绑定之前或之后对数据进行排序,或者另一种可行的解决方案,将不胜感激。

0 投票
1 回答
5972 浏览

wpf - Linq 和 ObservableCollection

我的 WPF 应用程序中的 Linq 和 ObservableCollections 有问题。

问题的背景:

我创建了一个非常简单的 SQL 数据库,其中包含两个表:User 和 BankAccounts。User 表与 BankAccounts 表具有一对多的关系。接下来我创建了 Linq-to-SQL 数据类,它运行良好 ==> 两个表之间的关联也被检测到。

接下来我创建了一个函数来检索所有正常工作的用户:

现在假设我想为每个用户添加一个新的 BankAccount(不太可能但仍然如此)。我可以添加以下代码

以上工作一切正常。由于数据库和 Linq DataClasses 中的关联,BankAccounts 属性自动成为 User 类的一部分。

但是,在我的应用程序中,我首先将查询结果添加到 ObservableCollection。因此,我可以使用各种数据绑定和更改通知。这是通过以下代码完成的;

问题:在 ObservableCollection 中,我不能对用户的 BankAccounts 属性做任何事情,因为它现在是 EntitySet<> 类型。所以我不能再做下面的陈述了。

不知何故,当查询结果被添加到 observablecollection 时,就不可能再访问 user.BankAccounts 属性了。但是,可以将 BankAccounts 属性绑定到任何控件,如列表框,并且它包含正确的数据。

有人现在如何创建一个 observableColction (或类似的集合),我可以访问这些“关联”属性吗?我真的很期待一个解决方案。

提前致谢!此致,

Bas Zweeris 邮箱:Bas.Zweeris@Capgemini.com

0 投票
3 回答
2521 浏览

asp.net-mvc - ASP.NET MVC 模型在同一页面上绑定相关实体

这个问题已经让我发疯了几个小时......

在我的域中,我有 2 个彼此相关的实体,Sku并且Item. 每个 sku 可以有许多项目。

我正在构建一个页面,允许最终用户同时更新 sku 上的一些字段和每个项目上的一些字段。

我有一些控制器代码可以通过同时接受 aSku和 an EntitySetofItem然后将其分配ItemsSku.

这行得通,但是我DefaultModelBinder注意到Item除了Sku. 绑定时,会调用Skusetter ,并且绑定器甚至会传入具有正确值的水合集合。但是,在调用 之后,就是。这就是为什么我必须重新分配控制器代码中的项目。我期待这些物品被活页夹转移到收藏品中。这应该消除每个项目的额外行程,因为可以删除我的控制器方法上的参数。为什么这不起作用?ItemsItemsitems.AssignItems.Count0Itemsitems

0 投票
1 回答
1096 浏览

.net - 具有排序实体集的 Datagridview? (.NET 3.5)

我希望有一个简单的答案来解决我在谷歌搜索数小时中错过的这个问题......

我有一个 DataGridView 需要显示和添加/删除/编辑数据库中的记录。我使用的是实体框架,所以记录最初是 EntitySet。

  • 尝试一

BindingSource 具有排序功能,但是哦……如果您的 DataSource 是 EntitySet,它们似乎实际上不可用。

  • 尝试二

尝试在网格上实现自定义排序,但是哦……如果网格是数据绑定的,则不允许自定义排序。

  • 尝试三

对我的数据执行 Linq 查询并在那里使用 order 函数。这可以获取我的有序数据,但是哦……它把 AllowNew 更改为 false。我可以强制它回来,但是添加到 DataGridView 的记录不会添加到我的 EntitySet 中(尽管奇怪的是任何更新都被反映了)。

  • 尝试四

按照#3,但现在我处理 BindingSource 的 AdditionalNew 事件并显式创建我的对象并将其添加到 EntitySet。然后,这将起作用,除非用户在网格底部输入新的条目行,我会得到一行完整的默认值添加到我的数据库中。如果用户继续输入该行,我会得到很多行。所以这也不好。

必须有一种方法来做到这一点 - 当然,在网格中显示一些数据库记录并允许完全编辑是最基本的要求(并且以随机顺序显示行并没有多大用处)?

非常感谢您的任何帮助...

0 投票
1 回答
715 浏览

asp.net-mvc - DeleteOnNull 错误

我有一组 DB 对象位于我的主要对象定义的 EntitySet 中。这可以很好地处理添加和更新,但我发现从列表中删除项目不会导致数据库记录被删除,所以我必须在数据存储库对象中创建一个方法来删除记录,因为数据对象没有可以访问正在使用它的数据上下文。

我正在寻找是否可以将此删除带入主对象,并且我找到了关联的 DeleteOnNull 属性,但是当我使用它时,我收到错误“DeleteOnNull 仅适用于映射到不可为空的单例关联成员外键列”。我的代码是:

我的用户站点对象是

我可以使用 DeleteOnNull 将我的所有数据更新方法保留在我的主用户对象中,还是我必须在存储库级别处理删除?

0 投票
1 回答
1267 浏览

sql - 实体集查询

我正在尝试运行类似于

MyEntitySet 与 MyItem 有一个关联,PropertyA。

理想情况下,底层 SQL 查询应该是

因为 PropertyA 和 PropertyB 是我正在查询的表的两个主键。

但我的痕迹似乎表明该程序首先使用 PropertyA 查询返回MyEntitySet,然后使用 PropertyB 查询返回var results

无论如何我可以强制 Linq 在单个 SQL 语句中查询这两个条件吗?

0 投票
2 回答
280 浏览

entity-framework - MVC 1.0 + EF:db.EntitySet.where(something) 是否仍返回表中的所有行?

在存储库中,我这样做:

然后在同一个存储库中使用另一种方法,这个:

在调试器中,结果视图显示该表中的所有记录,但是:

是 1(应该是)。

为什么我看到检索到的所有表条目,而不仅仅是 1?我认为行过滤是在数据库中完成的。

如果 db.EntitySet 确实将所有内容都提取到客户端,那么使用 EF 保持客户端数据精简版的正确方法是什么?获取所有行不会根据我正在做的事情进行扩展。