在模型中获取和设置类 - MVC 2 asp.net

时间:2010-06-09 11:18:13

标签: asp.net-mvc model-view-controller constructor models

我想改进程序,因此它有一个合适的构造函数,但也适用于MVC的模型环境。

我目前有:

public void recordDocument(int order_id, string filename, string physical_path, string slug, int bytes)
        {
            ArchiveDocument doc = new ArchiveDocument(); 
            doc.order_id = order_id; 
            doc.filename = filename; 
            doc.physical_path = physical_path; 
            doc.slug = slug; 
            doc.bytes = bytes; 
            db.ArchiveDocuments.InsertOnSubmit(doc); 
        }

这显然应该是一个构造函数,应该更改为更精简:

  public void recordDocument(ArchiveDocument doc)
    {
        db.ArchiveDocuments.InsertOnSubmit(doc); 
    }

获得&设置在其他地方 - 不确定语法 - 我是否创建了一个分部类?

所以:在somewhere存储库中创建 -

 ArchiveDocument doc = 
        new ArchiveDocument(order_id, idTaggedFilename, physical_path, slug, bytes);

然后:

namespace ordering.Models
{

    public partial class ArchiveDocument 
    {
       int order_id, string filename, string physical_path, string slug, int bytes;


      public archiveDocument(int order_id, string filename, string physical_path, string slug, int bytes){
              this.order_id = order_id;
              etc

     }

}

我该如何更改代码?

1 个答案:

答案 0 :(得分:1)

我会避免在模型中使用构造函数

我们使用无构造函数的模型和自动属性,然后我们使用初始化程序进行分配 通过这种方式,DataBinder可以创建模型并获得最大程度的重用,我们只分配特定视图所需的属性

e.g。

public class AModel{

    public int Id{get;set;}

    public string Name{get;set;}

}

var aModel = new AModel{
    Id= dataSource.Id,
    Name = dataSource.Name
    };