Я использую 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);
}
Какова точка определения длины строки, но с использованием 'object' вместо' string' в качестве типа? Если вы хотите сохранить строки, используйте тип 'string'. Если вы хотите хранить целые числа, используйте int или long. Вы пытаетесь решить какую-либо * другую проблему и решили, что замена 'string' на' object' может помочь? –
Я думаю, что это [sql_variant] (https://msdn.microsoft.com/en-us/library/ms173829.aspx). –
Вы пытаетесь создать таблицу ключей/значений? Это считается анти-шаблоном. Вы также не нуждаетесь в этом. Вы можете использовать разреженные столбцы в SQL Server для определения очень большого количества столбцов (> 30000). Это экономит * много * пространства, если требуется только несколько столбцов. Вы также избегаете поиска всей таблицы, если хотите получить только атрибуты одного объекта. –