c# - Entity Framework :多对多排序

标签 c# sql winforms entity-framework

我有两个具有多对多关系的实体,我正在寻找一种能够对表中的结果进行排序的方法。
换句话说,当我从 table1 中获取一行并从 table2 中获取所有相应的记录时,我希望能够为 table2 存储特定于 table1 中该行的排序顺序。

我的第一个想法是在表示关系的表中添加一个排序列,但据我所知,没有办法访问关系中的新列。

有人对如何完成此任务有任何建议吗?

最佳答案

正如 Ladislav Mrnka 所说,如果您将新列添加到联结表,“中间”将有一个新实体,这将使导航变得更加困难。

如果你想避免这种情况,但仍然能够像往常一样进行导航,你可以保留连接表并添加一个新表,就像连接一样,添加订单列。当您需要订单信息时,只需加入此表即可获取并使用。

当然,这个新表需要一些维护。 IE。您可以为联结表的联结+顺序创建级联删除。并使用触发器(哎呀,这不好!)为每个新创建的关系创建一个具有默认顺序的新行。因此,更明智的做法是在您的业务逻辑中处理此问题。

我知道这太棘手了,但没有什么 Elixir ...只需选择对您来说更舒服的方法即可。

关于c# - Entity Framework :多对多排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10894925/

相关文章:

c# - 如何测量和监控单个组件的 Autofac 解析时间

c# - 每次触发事件时如何将 C# 变量值注册到 Javascript 变量

c# - 如何在 C# 中释放 IntPtr?

c# - 如何使控件可通过鼠标缩放?

c# - 如何根据解决方案配置(发布或调试)让 NLog 输出到不同的目标?

c# - OWIN ASP.NET - 避免在 Web Api 中没有身份的同一帐户多次登录

sql - TOP、SUM SQL 语句

mysql - 使用 COALESCE()

php - 集成 openID 和 oauth 作为网站登录、登录和身份验证系统

c# - 将一个 Windows 窗体设置为另一个 Windows 窗体的 MDI 子窗体(或等同物)