Asp.net mvc 4 使用列类型对象创建数据库的代码优先方法

Asp.net mvc 4 使用列类型对象创建数据库的代码优先方法,asp.net-mvc-4,ef-code-first,Asp.net Mvc 4,Ef Code First,这是我的类,其属性值类型为“object” 因此,当实体框架在数据库中创建一个表时,它会为所有属性创建列,除了Value 没有为Value属性创建任何列。如何实现这一点?在数据库实体中,您只能拥有可以映射到DB表的列类型的类型 要获得类似对象数组的内容,您应该创建viewmodel,然后将该viewmodel映射到DB实体。您希望的数据库列类型是什么?@hvd我可以获得object类型的列吗?如果您的数据库具有数据类型“object”,则它不是我所知道的任何数据库。:)@hvd那么我如何实现它呢

这是我的类,其属性值类型为“object”

因此,当实体框架在数据库中创建一个表时,它会为所有属性创建列,除了Value


没有为Value属性创建任何列。如何实现这一点?

在数据库实体中,您只能拥有可以映射到DB表的列类型的类型


要获得类似对象数组的内容,您应该创建viewmodel,然后将该viewmodel映射到DB实体。

您希望的数据库列类型是什么?@hvd我可以获得object类型的列吗?如果您的数据库具有数据类型“object”,则它不是我所知道的任何数据库。:)@hvd那么我如何实现它呢。我需要将值存储到数据库中。值可以是(字符串、整数、图片、声音文件、音频文件)等:\n我有一个创建随机问题的UI,预期答案是“Object”类型(应支持任何数据类型,例如pic.jpg、string等)。那么有可能在DB中创建一个支持插入对象的列吗?如果我正确理解您的需求,您可以将其以字节数组的形式存储在DB中,这样在您的DB模型类中,您就可以拥有byte[]类型的属性,在您的poco或viewmodel中,您就可以拥有可以映射到此属性的对象类型。非常感谢您的建议。让我试试这个当然,它应该有用。顺便说一下,您可以编写自己的代码将对象类型转换为字节[],也可以使用第三方dll,如。谢谢@HBhatia。这就是我问题的答案。
public class Answers : IEntity
{
    [Key]
    public long Id { get; set; }

    public object Value { get; set; }

    public string Alias { get; set; }

    public object[] KeyValues
    {
        get { return new object[] { this.Id }; }
    }

}