EF Core 根据字段值查找不同实体

问题描述 投票:0回答:1

在我的模型中,我有一个实体,其字段可以根据其他字段的值(在我的示例中为 Document_Type)连接(查找)不同的表。

示例: 我有 PurchasingLine 实体,它可以与 Item 或固定资产实体有关系,字段 document_type 定义要关联的实体。
采购线实体

public class PurchaseLine
{
    public string No { get; set; } 
    public int Document_Type { get; set; }  
    public string Document { get; set; } // it's can be item or fixed asset. 
}

物品资产实体

public class Item
{
    public string No { get; set; } 
   
    // other fields relating to the item table
}

固定资产实体

public class FixedAsset
{
    public string No { get; set; } 
 
   // other fields relating to the fixed asset table
}

在最终用户界面中,如果文档类型等于 0,我需要列出项目;如果文档类型等于 1,我需要列出资产,并且可以轻松访问相关表并在相关表中执行操作。 是否可以在 EF Core 中使用 LINQ 和继承来实现这样的模型?

c# entity-framework linq entity-framework-core
1个回答
0
投票

您需要阅读如何使用 EF Core。以下是一些链接:

微软文档

教程

为了大致回答您的问题 - 您需要将 Item 和固定资产的 IEnumerables 添加到您的 ProductLine 模型中,以便它可以访问它们。

然后你可以这样做:

var productLineWithItem = await _context.ProductLine
    .Where(x => x.Document_Type == 1)
    .Include(x => x.Item)
    .ToListAsync();
© www.soinside.com 2019 - 2024. All rights reserved.