實體類別是領域概念在程式碼中的映射,**貫穿全架構**,承擔層間資料傳遞職責。本專案採用 **貧血模型**:僅包含屬性(資料),不包含業務邏輯與關係行為。對應資料庫實體表一一映射,屬性對應欄位。

[Serializable]
public class AdminInfo
{
private int id;
private string name;
private string password;
public int ID { get => id; set => id = value; }
public string Name { get => name; set => name = value; }
public string Password { get => password; set => password = value; }
}
[Serializable]
public class MessageInfo
{
private int id;
private string guestName;
private string guestEmail;
private string content;
private DateTime time;
private string reply;
private string isPass;
public int ID { get => id; set => id = value; }
public string GuestName { get => guestName; set => guestName = value; }
public string GuestEmail { get => guestEmail; set => guestEmail = value; }
public string Content { get => content; set => content = value; }
public DateTime Time { get => time; set => time = value; }
public string Reply { get => reply; set => reply = value; }
public string IsPass { get => isPass; set => isPass = value; }
}
[Serializable]
public class CommentInfo
{
private int id;
private string content;
private DateTime time;
private int message; // 對應 MessageID 外鍵
public int ID { get => id; set => id = value; }
public string Content { get => content; set => content = value; }
public DateTime Time { get => time; set => time = value; }
public int Message { get => message; set => message = value; }
}
ID、GuestName),降低映射認知負擔。IsPass 用 string 而非 bool,因 Access 欄位為 varchar(10) 存「Y/N」;Message 為 int 對應外鍵。在三層架構中,充血模型易導致「領域邏輯外洩至表示層」或「資料存取邏輯混入實體」,模糊層次職責。貧血模型配合 Service Layer(BLL)明確分離關注點,更適合傳統分層架構與 ORM 框架(如後續 NBear 篇將展示)。
實體類別就緒,下篇進入介面設計。