将数组放入列中

时间:2014-04-14 14:39:11

标签: c# entity-framework sql-server-2008 ef-code-first

我想首先使用EF代码在表Task中创建一个列,这是一个数组。怎么样?

public class Task
{
     // my presumption code
     public string[] Attempts { get; set; }

Attempts

   AttemptsMetadata---maybe string
   Time            ---DataTime
   Answered        ---bool

1 个答案:

答案 0 :(得分:1)

创建要在代码中使用的属性(并标记为忽略)以及要在代码中使用的其他属性。

<强> EDITED

public class Task
{
    [Ignore]
    public string[] Attempts { get; set; }

    public string AttemptsMetadata
    {
        get
        {
            return Attempts != null && Attempts.Any()
                ? Attempts.Aggregate((ac, i) => ";" + ac + i).Substring(1)
                : null;
        }
        set { Attempts = value.Split(';'); }
    }
}

<强> PS
这个策略有一个缺陷。使用存储库表达式时,不能使用ignore属性。但我从未找到另一种方法。