hãy nhìn vào mã ví dụ này:Có thể gọi các thuộc tính ảo từ hàm tạo của thực thể NHibernate không?
public class Comment
{
private Comment()
{ }
public Comment(string text, DateTime creationDate, string authorEmail)
{
Text = text;
CreationDate = creationDate;
AuthorEmail = authorEmail;
}
public virtual string Text { get; private set; }
public virtual DateTime CreationDate { get; set; }
public virtual string AuthorEmail { get; private set; }
}
tôi biết nó được coi là xấu thực hành để gọi hàm thành viên ảo từ các nhà xây dựng, tuy nhiên trong NHibernate tôi cần các thuộc tính là ảo để hỗ trợ tải lười biếng. Được coi là OK trong trường hợp này?
Tôi nghĩ rằng câu hỏi của bạn xứng đáng hơn sự chú ý và tôi muốn thêm tham chiếu này: http://stackoverflow.com/search?q=nhibernate+virtual+constructor Tôi nghĩ rằng việc thêm một phương thức Initialize() hoặc một tham số ít hàm tạo đang thay đổi thiết kế của bạn để thích ứng với khuôn khổ - đó là một thực hành tồi trong quan điểm của tôi; có lẽ bạn muốn đối tượng của bạn là hợp lệ mọi lúc (tôi nghĩ bạn nên) ... Initialize() phương thức/tham số constructor ít cho phép xây dựng các đối tượng mà không cần chúng. – W3Max