假设我在SQL中有两个表,我希望使用POCO T4模板生成EDMX模型(现在,可以自动生成所有内容)。假设我们的两个表格是Person (ID, FName, LName)
和Comment (ID, PersonID, CommentText, CommentDate)
,两者之间存在一对多关系(即您可以对一个人做出很多评论)。
获取由此生成的POCO实体是微不足道的,并且工作得非常好。但是我现在不知道该怎么做,是在我的Person
实体上添加一个自定义导航属性,代表该人的最新评论(最终需要比这更复杂的东西) 。现在,它是可读的,但是知道如何处理可写属性也很好。
这样做的正确方法是什么?要考虑的一件事是我正在序列化这些实体,所以我需要它们以一种方式加载和持久化,我可以将它们推送到我的UI中间的WCF(即自定义手写属性)依赖于延迟加载的扩展类不是一种选择。)
我已经非常擅长将EF4用于标准内容,但现在我已经开始使用这些自定义内容了,我并不完全确定如何以最佳实践方式执行此操作。
答案 0 :(得分:2)
添加属性很简单。将它放在一个名为与实体相同的部分类中。但如果你的财产看起来像:
get
{
return this.Comments.OrderByDescending(c => c.CommentDate).FirstOrDefault();
}
...然后它会起作用但你不能在L2E查询中使用它。
如果您需要L2E支持,可以使用this technique。