entity-framework-core - .NET Core 3.1 - 实体框架 - 嵌入式对象
问题描述
我可以将我的 .NET 模型存储在 SQL db 中,只要它们是简单对象
但是嵌入式对象、它们的 ID 和表之间的关系呢?
如果我们考虑这样的模型:
public class ClassA
{
int Id,
string name,
ClassB data
}
- 我自己处理来自 SQL 的子类 ClassB 存储/加载吗?还是 EF 处理这些情况?
- 我需要在 SQL 级别定义我的类之间的关系吗?
- MVC 框架会自动将这些对象转换为 typescript 等价物吗?(对于 Angular 应用程序)
谢谢你的时间
解决方案
尝试阅读 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 列。
推荐阅读
- javascript - 如何使用 getJSON 读取和显示 json 二维数组?
- c# - 无法将类型“UnityEngine.ScriptableObject”隐式转换为“T”
- wordpress - Gutenberg Block RichText 元素在编辑器中双重显示
- php - 如何在 wordpress 插件目录中包含自定义 php 文件?
- facebook-sdk-4.0 - 使用 python facebook sdk 在 facebook 上发布更新/消息
- r - 保存 H2o 数据框
- mqtt - MQTT API 是否存在将下行链路发送到 lora 设备?
- java - 从 bat 文件设置类路径不起作用
- python - Python 导入系统在 PyCharm 中不起作用?
- php - 如何通过 CLI 或纯 FastCGI 获取 PHP-FPM 状态