我正在使用Entity Framework并计划在我的数据库中的一个表中有一个列,我可以存储任何数据(基本上是一个对象类型),所以我创建了一个类,但它没有添加DefaultValue和MaxValue列到数据库。
public class AssetDataType
{
public AssetDataType()
{
}
public int Id { get; set; }
[Required, StringLength(100, MinimumLength = 1)]
public string Name { get; set; }
[Required, StringLength(100, MinimumLength = 1)]
public object DefaultValue { get; set; }
[StringLength(100, MinimumLength = 1)]
public object MaxValue { get; set; }
}
如何添加这些列并存储任何值,我在下面发布代码以了解我想要实现的目标。
protected override void Seed(AppContext context)
{
var assetAttributeType = AddOrUpdateAssetAttributeType(context,
new AssetAttributeType
{
Name = "Integer",
DefaultValue = 0,
MaxValue = int.MaxValue,
});
types.Add(assetAttributeType.Name, assetAttributeType);
var assetAttributeType1 = AddOrUpdateAssetAttributeType(context,
new AssetAttributeType
{
Name = "Boolean",
DefaultValue = false,
});
types.Add(assetAttributeType1.Name, assetAttributeType1);
}
答案 0 :(得分:0)
如果您想存储任何可以序列化对象的对象,然后将它们存储在数据库中,您也可以通过反序列化来检索对象。
答案 1 :(得分:0)
请不要这样做。实体 - 属性 - 值/一个真实查找表是数据库开发中的反模式的原因。
请实施各个表来存储每种单独的列表。为它们分配正确的列和数据类型,并设置基本数据访问类来读取它们。您的代码将更快,更可靠,更易于维护,并且您会发现它不会花费很长时间来设置。