首先是实体框架代码和数据注释

时间:2014-06-30 10:29:36

标签: entity-framework

我在项目中使用代码优先方法。在prject中,我有具有MetadataType属性的类,我不会在我的EF模型中使用它。具有元数据的类具有一些常量公共字段(除了主类型的字段之外)。现在,当我尝试查询EF时,它抛出了异常,即在元数据类中没有映射字段......下面详细介绍

class M1 
{
    int Id;
    string Name
}

class M2 
{
    int Id;
    DateTime Date
}

[MetadataType(typeof(PageOFSRevenueMetadata))]
class NotRelatedToModel
{
    int Prop1;
    int Prop2;
}

class PageOFSRevenueMetadata
{
    public const string RuleSet1 = "r1";
    public const string RuleSet2 = "r2";

    // Data Vaidation Attrs...
    int Prop1;
    int Prop2;

}

在我的上下文中,我只有M1和M2的映射。在DB存在的表中,名称为&NotclatedToModel'但我不想在我的模型中使用它。我使用EF 6

现在,当我尝试在M1和M2上进行连接查询时,它会抛出异常

' NotRelatedToModel'包含以下未知属性或字段:RuleSet1,RuleSet2。请确保这些成员的名称与主类型

上的属性名称相匹配

我可以将这些静态字段移动到另一个地方,它似乎可以工作,但我想知道它为什么会发生? EF代码首次映射如何工作?

提前致谢

0 个答案:

没有答案