1

据我了解,Type 类型的属性不能直接存储在数据库中。因此,我决定创建一个包装器 - 我希望 Entity Framework 存储类型名称并创建一个属性来返回所需的类型:

[Table("DescriptiveCategory")]
public class DescriptiveCategory : Category {

    public string RelatedTypeName { get; set; }

    public Type RelatedType {
        get {
            return Type.GetType(RelatedTypeName);
        }
        set {
            RelatedTypeName = value.FullName;
        }
    }
}

不幸的是,这不起作用:如果我尝试更新数据库,我会得到

Value cannot be null.
Parameter name: extent

如果我评论RelatedType财产,一切都很好。但我不希望 Entity Framework 具有此属性的任何内容 - 它仅满足我的需求。我可能可以创建 get 和 set 方法,但我不明白为什么这种方法(使用计算属性)不起作用。

4

1 回答 1

1

使用NotMappedAttribute

表示应从数据库映射中排除属性或类。

于 2013-09-03T12:18:02.110 回答