从数据库加载时的映射属性顺序

时间:2012-07-12 17:41:24

标签: entity-framework c#-4.0 mapping instantiation setter

假设我有这段代码:

public bool Important { get; set; }

private bool _dependsOnImportant;

public bool DependsOnImportant
{
    get;
    set 
    {
        if (value && !Important)
            throw new InvalidOperationException();
        _dependsOnImportant = value;

    }
}

我想保护将DependsOnImportant设置为true,以便只有当Important为true时才可以。这是POCO课程。根据:Entity Framework 4.1 - Code first. Doesn't EF override my virtual members?我在从数据库加载对象时将使用我的setter。 当调用DependsOnImportant setter时,如何确保已使用数据库中的数据设置了“重要”? EF是否足够聪明,可以检测到一个setter正在使用另一个setter并首先加载该数据?我不这么认为。我认为使用默认构造函数创建一个新对象(将所有字段设置为默认值),然后调用setter来填充对象。

所以我的问题是:我们可以确定调用setter的顺序吗?但最重要的是:我们想拥有这些知识吗?

0 个答案:

没有答案