gpt4 book ai didi

c# - Entity Framework 和动态模式

转载 作者:太空狗 更新时间:2023-10-29 23:43:30 26 4
gpt4 key购买 nike

我继承了一个与许多不同客户端数据库通信的应用程序。

客户端数据库中的这些表中的大多数具有相同的架构 - 但有少数表具有包含税务信息的额外自定义列(是的 - 坏主意 - 我知道......我没有设置它)。

这些额外的列可以命名为任何东西。它们在运行时是已知的,因为它们可以在另一个表中查找。

我可以将 EF 设置为读取/写入这些表(跳过动态列),但我确实需要此信息 - 因为它是税务数据。

我认为我的最佳路线是拥有一个固定模型,其中添加了可以由这些动态列填充的额外属性。

如何让 Entity Framework 动态读取和写入这些列,而无需在每次调用时使用自定义 SQL 语句?

我可以进行额外的读取和写入操作以分别读取和写入这些额外的列(使用自定义 sql)……但是必须有某种方法来覆盖 EF,以便它了解这些额外的列并可以正确处理它们。

如有任何帮助,我们将不胜感激。

最佳答案

第一步,您可以直接查询 _INFORMATION_SCHEMA_ 或其他元数据表,以了解您希望上下文所在的表是否具有这些列。根据该信息,您可以使用不同的 DbContext(通用的可能会起作用),但使用 MappingConfiguration 创建它,如果列不存在,您可以忽略它们,或将它们映射到您的上下文所需的 POCO 类。

关于c# - Entity Framework 和动态模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43943018/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com