将自定义属性添加到我的EF4模型

时间:2010-05-12 22:45:56

标签: sql-server-2008 visual-studio-2010 t4 poco entity-framework-4

假设我在SQL中有两个表,我希望使用POCO T4模板生成EDMX模型(现在,可以自动生成所有内容)。假设我们的两个表格是Person (ID, FName, LName)Comment (ID, PersonID, CommentText, CommentDate),两者之间存在一对多关系(即您可以对一个人做出很多评论)。

获取由此生成的POCO实体是微不足道的,并且工作得非常好。但是我现在不知道该怎么做,是在我的Person实体上添加一个自定义导航属性,代表该人的最新评论(最终需要比这更复杂的东西) 。现在,它是可读的,但是知道如何处理可写属性也很好。

这样做的正确方法是什么?要考虑的一件事是我正在序列化这些实体,所以我需要它们以一种方式加载和持久化,我可以将它们推送到我的UI中间的WCF(即自定义手写属性)依赖于延迟加载的扩展类不是一种选择。)

我已经非常擅长将EF4用于标准内容,但现在我已经开始使用这些自定义内容了,我并不完全确定如何以最佳实践方式执行此操作。

1 个答案:

答案 0 :(得分:2)

添加属性很简单。将它放在一个名为与实体相同的部分类中。但如果你的财产看起来像:

get
{
     return this.Comments.OrderByDescending(c => c.CommentDate).FirstOrDefault();
}

...然后它会起作用但你不能在L2E查询中使用它。

如果您需要L2E支持,可以使用this technique