use*_*196 3 c# poco ef-code-first asp.net-mvc-3
我不是一个经验丰富的MVC3开发人员,但我想成为.我熟悉POCO类和ViewModels,因为前者描述了数据库的每个类,后者用于mvc3中的强类型视图.对于经验丰富的开发人员来说,我的问题并不复杂,但我对此感到有些困惑.
问题是,我有一个包含三个项目的解决方案;
.
public class Service
{
[Key]
[DatabaseGenerated(System.ComponentModel.DataAnnotations.Schema.DatabaseGeneratedOption.Identity)]
public int ServiceID { get; set; }
//------------------------------------------------------------//
[Required, MaxLength(30)]
[LocalizedAttribute("Name")]
public string Name { get; set; }
//------------------------------------------------------------//
[MaxLength(100)]
[LocalizedAttribute("Description")]
public string Description { get; set; }
//------------------------------------------------------------//
[Required]
public long ModifiedByUserID { get; set; }
[ForeignKey("ModifiedByUserID")]
public virtual User OperatorUser { get; set; }
//------------------------------------------------------------//
[Required, MaxLength(10)]
public int ModifiedDate { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
存储库和UnitOf Work类库
MVC应用程序
现在,我是否正确地解决了POCO课程?(我当然使用EF Code First生成数据库)如果是,那么它们也被推断为ViewModels吗?我用它们来生成强类型视图.
定义POCO类和ViewModel的最佳和实际标准方法是什么?
我很感激任何善意的指导,
说实话,这取决于项目的规模.
如果你看一下大多数微软的例子,他们只是将他们的POCO用作模型,因为他们的例子是小项目.
但是,如果您正在开发企业级应用程序附近的任何东西,那么您真的不应该使用POCO作为模型.应该明确区分关注点.严格来说,您的Web项目甚至不应该知道这些场景中的POCO对象,典型的实现是POCO和View Model都可以实现和查看的通用接口.这样可以节省您将POCO对象暴露给Web层的过程.
| 归档时间: |
|
| 查看次数: |
1716 次 |
| 最近记录: |