是这个价值对象

时间:2014-01-17 20:55:49

标签: c# .net domain-driven-design

一篇文章有​​消息。所以我在如何构造Message对象方面遇到了困境。作为具有ddd方法的实体或价值对象。

在没有Message对象的情况下,不应该独立跟踪

Article。据我所知,价值对象没有身份,知道如何跟踪文章消息?

如果我的poco是

public class Article {
   public int id {get; set;}
   public string Name {get; set;}
   public Message Message {get; set;}
}

public class Message{
   public string body {get; set;}
}

我应该在Message中添加文章来建立文章消息的跟踪。如果我将文章添加到Message类,我是否会破坏Value对象定义?

更新: 我的目标是允许访问者将消息留给特定文章。不应单独跟踪消息,而应通过文章对象跟踪消息。

1 个答案:

答案 0 :(得分:0)

  

我应该如何构建Message对象

至少它应该是:

public class Message
{
   public int Id {get; set;}             // MessageId
   public Article Article { get; set; }  // Owner
   public string body {get; set;}
}

根据您的框架,您可能还想添加/管理外键属性。 EF会理解:

public class Message
{
   public int Id {get; set;}             // MessageId

   // use the 'virtual' keyword and/or add an ArticleId and/or use some Attributes.  
   public int ArticleId { get; set; }
   public virtual Article Article { get; set; }  // Owner
   public string body {get; set;}
}