使用复合主键生成控制器

时间:2013-08-20 13:20:32

标签: asp.net asp.net-mvc asp.net-mvc-4

我的数据库中有许多带有复合主键的表。当我从我的模型生成一个控制器时,我总是得到只有一个参数的方法。例如:

public ActionResult Edit(string id = null)
{
    ...
}

但我想要实现的是在我的控制器中使用主键的所有参数获取生成的方法,如下所示:

public ActionResult Edit(string pk1 = null, string pk2 = null, ...)
{
    ...
}

目前我必须更换每个控制器 是否有可能以某种方式生成这种类型的控制器?

2 个答案:

答案 0 :(得分:0)

脚手架模板(T4)位于[Visual Studio Directory]\Common7\IDE\ItemTemplates\CSharp\Web\[MVC Version]\CodeTemplates\AddController。您可以修改或复制这些模板并将其导入项目中并进行适当的修改,也可以创建全新的模板。以下是关于如何实现此目的的valuable tutorial

答案 1 :(得分:-1)

定义模型时使用Key属性

using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Web;

namespace demomvc.Models
{
    public class MultipleKeyModel
    {
        [Key]
        public int Key1 { get; set; }
        [Key]
        public int Key2 { get; set; }
        [Key]
        public int Key3 { get; set; }
        public string Foo { get; set; }
    }
}