c# - 应用程序的类结构和数据库结构

标签 c# asp.net database class

我想允许用户创建自己的实体,例如: - 学生(姓名、年龄、学校、照片等) - 动物(名称、类型、国家等) - 汽车(品牌、颜色、价格等) 等等

然后用户将能够根据创建的实体在数据库中添加记录。

所有的属性都是字符串。

我的问题是如何在数据库中最好地保存这些实体的实例。 为每个创建的实体创建一个新表我认为是不可能的。 我在考虑将创建的每个实体的属性保存在一个表中,然后在另一个表中保存该实体的实例,例如,属性将以逗号分隔;

实体结构表(学生用):

property_name    entity_key

name             student
age              student
school           student
photo            student

实体实例表:

instance                entity_key

joe,19,nyhigh,joe.jpg   student

我将使用哪些类来创建这些记录的实例? (?自动生成的类?)(?具有 List 属性的类,我将在其中分隔 'joe,12,nyhigh,joe.jpg' 字符串?) 以前有人遇到过此类问题吗?

我将使用 asp.net C# 开发应用程序。

最佳答案

序列化实体并将其保存在实例列中。如果您需要对值进行数据库查询,请使用 XML 序列化。

public static string SerializeToString(object obj)
{
   using (var serializer = new XmlSerializer(obj.GetType()))
   using (var writer = new StringWriter())
   {
      serializer.Serialize(writer, obj);
      return writer.ToString();
   }
}

关于c# - 应用程序的类结构和数据库结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9367988/

相关文章:

database - 如何设计翻译词典的数据库?

mysql - MySQL 对多个表进行查询

c# - 你如何按值对字典进行排序?

c# - 获取 Microsoft Live 帐户的电子邮件地址

c# - 方法上的 Webapi 参数为空

javascript - JQuery 自动完成后获取 ID 的值

c# - 如何使用 SQL Server 创建自定义 ASP.NET 身份提供程序?

c# - WCF 客户端在外部解决方案时不工作

c# - 在运行时动态绑定(bind)到自定义业务对象

php - 无法使用带有 PDO::execute() 的 php 插入数据库