use*_*672 17 c# asp.net-mvc poco
将方法添加到POCO或创建单独的类来更新POCO的值是否是一个好的做法,以防我们需要?
例如,
public class ForUser
{
[Required]
public int Depratment { get; set; }
public List<SelectListItem> DepartmentsList { get; set; }
[Required]
public int Role { get; set; }
[Required]
[StringLength(200, MinimumLength = 3, ErrorMessage = "Length Of The First Name Should Be More Than Three Letters")]
public string FirstName { get; set; }
[StringLength(200, MinimumLength = 3, ErrorMessage = "Length Of The Mid Name Should Be More Than Three Letters")]
public string MidName { get; set; }
[Required]
[StringLength(200, MinimumLength = 3, ErrorMessage = "Length Of The Last Name Should Be More Than Three Letters")]
public string LastName { get; set; }
[Required]
[EmailAddress(ErrorMessage = "Invalid Email Address")]
public string Email { get; set; }
[StringLength(14, MinimumLength = 10 , ErrorMessage = "Length Of The Mid Name Should Be More Than Nine Letters and Less than fourteen Letters")]
[RegularExpression(@"^[+]?[0-9]*", ErrorMessage="Phone Number is not correct")]
public string PhoneNumber { get; set; }
[Required]
public string Password { get; set; }
public int UserId { get; set; }
public int Company { get; set; }
public int Country { get; set; }
public List<SelectListItem> Roles { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
我只是用它来保存数据以更新数据model entity
或将数据返回到视图.有时我需要在发送object
到视图之前更新一些属性,就像Roles
上面示例中调用的列表一样,所以我想知道是否应该将方法添加到POCO
类中,还是更好地创建一个类来更新属性?
Moh*_*mad 18
在这里,您将找到问题的答案:
POCO不是DTO.POCO代表Plain Old CLR Object,或Plain Old C#Object.它基本上是POJO的普通旧Java对象的.Net版本.POCO是您的业务对象.它包含数据,验证以及您希望放在其中的任何其他业务逻辑.但POCO没有一件事,那就是它成为POCO的原因.POCO没有持久性方法.如果您有一个Person类型的POCO,则不能使用Person.GetPersonById()方法或Person.Save()方法.POCO仅包含数据和域逻辑,没有任何类型的持久性逻辑.你会听到这个概念的术语是持久性无知(PI).POCO是持久无知的.
我喜欢阅读整篇文章,而不是仅仅得到的回答你的问题,但也明白之间的差别POCO
和DTO
.
在这种情况下,POCO具有ViewModel角色,因此,恕我直言,它应该只是一个数据传输对象(DTO),并且只有最小的代码.
可能是一些验证方法,可能是属性之间的一些基本计算,应该是它.
归档时间: |
|
查看次数: |
3932 次 |
最近记录: |