gpt4 book ai didi

c# - 在关系数据库中保存任何类型的对象

转载 作者:搜寻专家 更新时间:2023-10-30 20:05:48 25 4
gpt4 key购买 nike

这可能有点花哨,但是否有任何模式或东西可以以最佳方式在关系数据库(不是 nosql)中存储任何类型的对象?

例如以非最佳方式:

class Person{
string FirstName {get;set;}
string LastName {get;set;}
}

class Product{
string Name {get;set;}
decimal Price {get;set;}
}

在数据库中:

CREATE TABLE Data
(Id int PRIMARY KEY,
TypeName nvarchar(50),
PropertyName nvarchar(50),
PropertyValue binary)

然后记录像这样存储在数据库中:

1    Person    FirstName   Jalal

2 Person LastName A.R

3 Product Name Apple

4 Product Price 2

最佳答案

您所描述的本质上是一个 Entity-Attribute-Value table 。

它适用于潜在属性数量较多但潜在值数量较少的情况。这种用例的一个例子是医疗数据(症状),其中患者可能具有的潜在症状数量很多,但实际症状的数量很少。

使用不当,是Inner Platform Effect的经典例子.

关于c# - 在关系数据库中保存任何类型的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9488888/

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