EF代码第一个外键相同的表

达米安

我有一个要使用EF Code First的Fluent配置进行映射的实体:

class Transaction
{
    int LineItemId { get; set; }
    string TranNumber { get; set; }
    string TaxLotId { get; set; }
    string TradeLeg { get; set; }

    public virtual Transaction NewDealTransaction { get; set; }
    public virtual ICollection<GvaTransactions> RelatedTransactions { get; set; }
}

编辑有一个用于保存此数据的表(为简洁起见,省略了不相关的列)。

CREATE TABLE [dbo].[Transactions] (
    [LineItemId]               INT           IDENTITY (1, 1) NOT NULL,
    [TranNumber]               VARCHAR (20)  NOT NULL,
    [TaxLotId]                 VARCHAR (20)  NULL,
    [TradeLeg]                 VARCHAR (20)  NULL,
    CONSTRAINT [PK_GVATransactions] PRIMARY KEY CLUSTERED ([LineItemID] ASC)
)

LineItemId是主键。

RelatedTransactions关系应表示具有相同TaxLotId的所有事务都相关的事实。

最后NewDealTransaction是具有相同TaxLotId和`TradeLeg ==“ NewDeal”的交易。

如何编写流畅的映射来表示这些关系?

注意:我的偏好不是更改后端,因为这是针对我继承的现有表设计的,该表已经有很多数据。

马格努斯·约翰逊(Magnus Johansson)

您所要求的不是外键关系(因此是Entity Framework关系/导航属性)所设计的。
它们是为了保持数据完整性,而不是对数据进行过滤。

要查询和使用相关记录(根据您的定义),您只需按照以下方式查询:
相关记录:

var relatedRecords = context.Transactions.Where(t=>t.TaxLotId == "something");  

新优惠:

var newDeals = context.Transactions.Where(t=>t.TaxLotId == "something" && t.TradeLeg == "NewDeal");

为了提高效率,我建议在TaxLotId和TradeLeg列上使用复合索引

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

删除EF代码第一个外键表列中的表名前缀

来自分类Dev

EF代码第一个带有多个键的外键

来自分类Dev

EF代码的第一个外键被忽略,得到“无效的列名”

来自分类Dev

第一个表中的外键

来自分类Dev

C#代码第一个外键。外键引用带有引用的表中的无效列

来自分类Dev

为一对多关系编写第一个多个外键代码

来自分类Dev

实体框架代码第一个唯一索引外键引发DbUpdate异常

来自分类Dev

实体框架代码第一个外键问题

来自分类Dev

实体框架代码第一个外键添加索引

来自分类Dev

代码第一个外键关联MVC实体

来自分类Dev

实体框架代码第一个外键问题

来自分类Dev

Mysql在两个表中插入其中第一个表具有外键并更新第一个表

来自分类Dev

使用外键批量插入嵌套的xml作为第一个表的标识列

来自分类Dev

EF代码第一个导航属性到同一表

来自分类Dev

按第一个外键过滤

来自分类Dev

按第一个外键过滤

来自分类Dev

EF Core迁移从新的复合索引中删除了第一个外键索引

来自分类Dev

具有相同类别的2个FK的EF代码第一个映射表

来自分类Dev

连接表并选择所有行均满足第一个表中条件的外键

来自分类Dev

是否可以将表链接到使用外键链接回第一个表的表?

来自分类Dev

SQL Server:从第一个表链接到第二个表的主键的多个外键

来自分类Dev

SQL Server:从第一个表链接到第二个表的主键的多个外键

来自分类Dev

实体框架代码的第一个外键可能会导致循环或多个级联路径

来自分类Dev

asp.net MVC-代码第一个外键可让我输入任何内容

来自分类Dev

如何定义一个表,该表的主键由2个外键(EF代码优先)构成

来自分类Dev

在两个实体之间编码第一个外键

来自分类Dev

按 Django 中的第一个外键排序

来自分类Dev

EF代码第一外键未更新

来自分类Dev

EF代码第一外键未更新

Related 相关文章

  1. 1

    删除EF代码第一个外键表列中的表名前缀

  2. 2

    EF代码第一个带有多个键的外键

  3. 3

    EF代码的第一个外键被忽略,得到“无效的列名”

  4. 4

    第一个表中的外键

  5. 5

    C#代码第一个外键。外键引用带有引用的表中的无效列

  6. 6

    为一对多关系编写第一个多个外键代码

  7. 7

    实体框架代码第一个唯一索引外键引发DbUpdate异常

  8. 8

    实体框架代码第一个外键问题

  9. 9

    实体框架代码第一个外键添加索引

  10. 10

    代码第一个外键关联MVC实体

  11. 11

    实体框架代码第一个外键问题

  12. 12

    Mysql在两个表中插入其中第一个表具有外键并更新第一个表

  13. 13

    使用外键批量插入嵌套的xml作为第一个表的标识列

  14. 14

    EF代码第一个导航属性到同一表

  15. 15

    按第一个外键过滤

  16. 16

    按第一个外键过滤

  17. 17

    EF Core迁移从新的复合索引中删除了第一个外键索引

  18. 18

    具有相同类别的2个FK的EF代码第一个映射表

  19. 19

    连接表并选择所有行均满足第一个表中条件的外键

  20. 20

    是否可以将表链接到使用外键链接回第一个表的表?

  21. 21

    SQL Server:从第一个表链接到第二个表的主键的多个外键

  22. 22

    SQL Server:从第一个表链接到第二个表的主键的多个外键

  23. 23

    实体框架代码的第一个外键可能会导致循环或多个级联路径

  24. 24

    asp.net MVC-代码第一个外键可让我输入任何内容

  25. 25

    如何定义一个表,该表的主键由2个外键(EF代码优先)构成

  26. 26

    在两个实体之间编码第一个外键

  27. 27

    按 Django 中的第一个外键排序

  28. 28

    EF代码第一外键未更新

  29. 29

    EF代码第一外键未更新

热门标签

归档