3

我在使用实体框架 5 的模型中有一个简单的数组。该数组不会保存在表中。

模型

public class MyModel: IEntity
{
    [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
    public int Id { get; set; }
    public IList<string> MyArray { get; set; }
}

配置

    DbContext.Configuration.ProxyCreationEnabled = true;
    DbContext.Configuration.LazyLoadingEnabled = true;
    DbContext.Configuration.ValidateOnSaveEnabled = false;

初始化器

internal class DatabaseInitializer : DropCreateDatabaseIfModelChanges<DatabaseContext>
{
    protected override void Seed(DatabaseContext context)
    {
        context.MyModels.Add(new MyModel {
           MyArray = new [] { "Value1", "Value2" }
        });
   }
}

任何提示为什么这不起作用。MyArray 未将事件显示为列。

4

1 回答 1

1

除了使用字符串数组,您还可以使用带有某种分隔符的简单字符串列,例如 ';' 或'|',什么都可以。只需确保在从数据库中检索数据时调用 C# String.Split 方法,并将与参数相同的分隔符传递给它。

例如:

string stringToBePersisted = "First Value|Second Value|Third Value";

string[] stringsRetrieved = columnValue.Split('|');
于 2014-09-21T01:24:32.680 回答