首页 > 解决方案 > .NET Core 3.1 - 实体框架 - 嵌入式对象

问题描述

我可以将我的 .NET 模型存储在 SQL db 中,只要它们是简单对象

但是嵌入式对象、它们的 ID 和表之间的关系呢?

如果我们考虑这样的模型:

public class ClassA
{
 int Id,
 string name,
 ClassB data
} 

谢谢你的时间

标签: entity-framework-core

解决方案


尝试阅读 EF 中的关系。使用 Sql 时,您应该将对象分开,将数据保持在关系结构中。一些阅读可以在这里找到。https://docs.microsoft.com/en-us/ef/ef6/fundamentals/relationships#:~:text=Relationships%20in%20EF,-In%20relational%20databases&text=In%20Entity%20Framework%2C%20an% 20entity,two%20entities%20in%20that%20relationship

如果您使用的是 Azure 的 Cosmos DB 等数据存储,则可以嵌入子对象。嵌入子对象不是如何处理关系数据,因为 SQL 旨在成为关系数据存储,它不打算存储嵌入对象。话虽如此,Sql Server 2012 和更新版本确实有一个 Json 列,您可以尝试将其添加到架构中。我还没有看过 EF 如何处理 sql 拥有的 Json 列。


推荐阅读