我想允许用户创建自己的实体,例如: - 学生(姓名、年龄、学校、照片等) - 动物(名称、类型、国家等) - 汽车(品牌、颜色、价格等) 等等
然后用户将能够根据创建的实体在数据库中添加记录。
所有的属性都是字符串。
我的问题是如何在数据库中最好地保存这些实体的实例。 为每个创建的实体创建一个新表我认为是不可能的。 我在考虑将创建的每个实体的属性保存在一个表中,然后在另一个表中保存该实体的实例,例如,属性将以逗号分隔;
实体结构表(学生用):
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/