2012-07-28 54 views
2

我是新来的EF,我只是在试验。有人可以告诉我,以下是否可能。给定一个(产品)表在数据库中,像这样:如何在POCO类中包含未映射的字段

Id Cost DescriptionFK 
-- ---- ------------- 
? ? ? 

我想对应的POCO类(实体)出现,如:

public class Product 
{ 
    public int Id { get; set; } 
    public decimal Cost { get; set; } 
    public string Description { get; } 
} 

注意“说明”中的类是只读字符串(没有setter),但它是表中的一个键。我调用存储过程来退出这个功能(主要转化为相应的字符串,返回上面的类),但如果我现在做这样的事情:

// ... 
product.Cost = 20; 
myContext.SaveChanges(); 

我得到一个异常抱怨,有没有映射为“说明”字符串。我删除了映射,因为它是只读的,我不需要在类中包含“DescriptionFK”。有什么办法可以解决这个问题(只有POCO)。非常感谢。

回答

7

如果你只是希望有Description属性作为计算字段,添加[NotMapped]你的财产,以明确排除,然后生成数据库:

public class Product 
{ 
    public int Id { get; set; } 
    public decimal Cost { get; set; } 

    [NotMapped] 
    public string Description { get; } 
} 
相关问题